장고:view 각종 기능: 두 판 사이의 차이
둘러보기로 이동
검색으로 이동
23번째 줄: | 23번째 줄: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== 객체 다 가져오기 === | ===객체 다 가져오기=== | ||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
from django.shortcuts import render | from django.shortcuts import render | ||
33번째 줄: | 33번째 줄: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== 필터로 걸러서 가져오기 === | ===필터로 걸러서 가져오기=== | ||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
from django.shortcuts import render | from django.shortcuts import render | ||
42번째 줄: | 42번째 줄: | ||
목록 = 모델.objects.filter(칼럼명 = True, >0 따위의 조건들...) | 목록 = 모델.objects.filter(칼럼명 = True, >0 따위의 조건들...) | ||
목록2= 목록.objects.filter(조건들..)#객체에 또다시 필터를 걸 수도 있다. | 목록2= 목록.objects.filter(조건들..)#객체에 또다시 필터를 걸 수도 있다. | ||
</syntaxhighlight> | </syntaxhighlight>필터는 몇번이라도 걸 수 있는데, 장고는 지연평가 방식을 사용하기 때문에 실제로 데이터를 질의하는 것은 한 번 뿐이다. 덕분에 부하가 걸리지 않고도 filter를 자유롭게 사용할 수 있다. | ||
==데이터 저장하기== | ==데이터 저장하기== |
2020년 10월 27일 (화) 21:48 판
장고! 웹 프레임워크! 틀:장고
데이터 불러오기
객체 조회
from django.shortcuts import get_object_or_404#기본키값에 해당하는 모델이 없을 경우 404 에러 반환.
from .models import 모델명#모델을 임포트 한다.
객체 = get_object_or_404(모델명, pk=기본키값)
목록 조회
from django.shortcuts import render
from .models import 모델명#모델을 임포트 한다.
#모델.objects는 객체목록을 받는다는 의미이다.
def index(request):
목록 = 모델.objects.order_by('-create_date') #create_date속성의 역순으로 정리하라는 의미.
context={'템플릿에서 쓸 변수명':목록)
return render(request, '템플릿', context)
객체 다 가져오기
from django.shortcuts import render
from .models import 모델명#모델을 임포트 한다.
#모델.objects는 객체목록을 받는다는 의미이다.
def index(request):
목록 = 모델.objects.all
필터로 걸러서 가져오기
from django.shortcuts import render
from .models import 모델명#모델을 임포트 한다.
#모델.objects는 객체목록을 받는다는 의미이다.
def index(request):
목록 = 모델.objects.filter(칼럼명 = True, >0 따위의 조건들...)
목록2= 목록.objects.filter(조건들..)#객체에 또다시 필터를 걸 수도 있다.
필터는 몇번이라도 걸 수 있는데, 장고는 지연평가 방식을 사용하기 때문에 실제로 데이터를 질의하는 것은 한 번 뿐이다. 덕분에 부하가 걸리지 않고도 filter를 자유롭게 사용할 수 있다.
데이터 저장하기
객체 저장
객체를 조회, 조작한 후 객체.save()
를 실행한다.
권한관리
로그인
로그인이 있어야 필요한 기능은 다음과 같은 형태로 구현.(함수 앞에 둔다.)
from django.contrib.auth.decorators import login_required #로그인이 있어야 가능함
@login_required(login_url='common:login')
def question_create(request):
if request.method == 'POST':#포스트로 요청이 들어온다면... 글을 올리는 기능.
form = QuestionForm(request.POST) #폼을 불러와 내용입력을 받는다.
from django.shortcuts import render
from .models import 모델명#모델을 임포트 한다.
#모델.objects는 객체목록을 받는다는 의미이다.
def index(request):
객체 = self.request.user.id #현재 로그인한 사용자의 아이디를 얻을 수 있다.