질문 목록 조회 구현
pybo에 접속하면 질문을 모두 조회할 수 있는 기능
from django.shortcuts import render
from django.http import HttpResponse
from .models import Question
def index(request):
'''
pybo 목록 출력
'''
question_list = Question.objects.order_by('-create_date')
context = {'question_list': question_list}
return HttpResponse("안녕하세요 Pybo에 오신것을 환영합니다.")
Question모델을 임포트해 Question모델을 작성한 날짜의 역순으로 조회하기 위해 order_by 함수 사용 (-기호를 앞에 붙이면 역순)
조회한 Question 모델 데이터는 context 변수에 저장
render로 화면 출력하기
from django.shortcuts import render
from django.http import HttpResponse
from .models import Question
# Create your views here.
def index(request):
'''
pybo 목록 출력
'''
question_list = Question.objects.order_by('-create_date')
context = {'question_list': question_list}
return render(request, 'pybo/question_list.html', context)
render 함수는 context에 있는 Question모델 데이터 question_list를 pybo/question_list.html 파일에 적용하여 HTML코드로 변환한다. 장고에서는 이런파일 (question_list.html)을 템플릿이라 부른다.
템플릿을 모아 저장할 디렉터리 생성
(mysite) yujihyeon@yujihyeon-ui-MacBookAir mysite % mkdir templates
템플릿 디렉터리를 장고 config/settings.py 에 등록하자. TEMPLATES 항목을 아래와 같이 수정한다.
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR / 'templates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
DIRS에는 템플릿 디렉터리를 여러개 등록할 수 있다. 다만 우리가 개발하는 파이보는 1개의 템플릿 디렉터리를 쓸 것이므로 1개만 등록한다.
BASE_DIR은 ~/DjangoProjects/mysite이므로 templates만 더 붙여 반환한다.
'IT > Django' 카테고리의 다른 글
[Django] 개발편의를 제공하는 장고 Admin (0) | 2022.11.02 |
---|---|
[Django] 데이터를 관리하는 모델 (0) | 2022.11.02 |
[Django] 장고 개발 준비 (0) | 2022.11.02 |