이번 수업에서는 저번에 만든 페이지에서 좀더 추가해보는 과정이다.
관리자 생성하기
$ python manage.py createsuperuser
이 명령어를 치면 아이디와 비밀번호를 적으라는 명령을 다 실행해주면 관리자 계정이 생성이 된다.
위와 같은 예시로 admin으로 들어가면 아이디와 비밀번호를 적는 페이지가 보입니다.
장고에서의 admin기능은 편집 가능한 그룹과 사용자와 같은 몇 종류의 컨텐츠를 볼 수 있습니다.
이와 같이 손쉽게 코드가 아닌 페이지에서 직접 관리를 해줄수 있는 기능도 제공을 해줍니다.
정말 편해보입니다~~
이제, polls/views.py 에 뷰를 추가해 봅시다
def detail(request, question_id):
return HttpResponse("You're looking at question %s." % question_id)
def results(request, question_id):
response = "You're looking at the results of question %s."
return HttpResponse(response % question_id)
def vote(request, question_id):
return HttpResponse("You're voting on question %s." % question_id)
path() 호출을 추가하여 이러한 새로운 뷰를 polls.urls 모듈로 연결하겠습니다.
from django.urls import path
from . import views
urlpatterns = [
# ex: /polls/
path('', views.index, name='index'),
# ex: /polls/5/
path('<int:question_id>/', views.detail, name='detail'),
# ex: /polls/5/results/
path('<int:question_id>/results/', views.results, name='results'),
# ex: /polls/5/vote/
path('<int:question_id>/vote/', views.vote, name='vote'),
]
사용자가 웹사이트의 페이지를 요청할 때, 예로 《/polls/34/》를 요청했다고 하면, Django는 mysite.urls 파이썬 모듈을 불러오게 됩니다. ROOT_URLCONF 설정에 의해 해당 모듈을 바라보도록 지정되어 있기 때문입니다. mysite.urls에서 urlpatterns라는 변수를 찾고, 순서대로 패턴을 따라갑니다. 'polls/'를 찾은 후엔, 일치하는 텍스트("polls/")를 버리고, 남은 텍스트인 "34/"를 〈polls.urls〉 URLconf로 전달하여 남은 처리를 진행합니다. 거기에 '<int:question_id>/'와 일치하여, 결과적으로 detail() 뷰 함수가 호출됩니다.
render()란:
템플릿에 context 를 채워넣어 표현한 결과를 HttpResponse 객체와 함께 돌려주는 구문은 자주 쓰는 용법입니다. 따라서 Django는 이런 표현을 쉽게 표현할 수 있도록 단축 기능(shortcuts)을 제공합니다.
404 에러 일으키기
from django.http import Http404
from django.shortcuts import render
from .models import Question
# ...
def detail(request, question_id):
try:
question = Question.objects.get(pk=question_id)
except Question.DoesNotExist:
raise Http404("Question does not exist")
return render(request, 'polls/detail.html', {'question': question})
뷰는 요청된 질문의 ID 가 없을 경우 Http404 예외를 발생시킵니다.
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기
#한번에끝내는AWS인프라구축과DevOps운영초격차패키지Online
https://bit.ly/3FVdhDa
<본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.>
수강료 100% 환급 챌린지 | 패스트캠퍼스
딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!
fastcampus.co.kr
'DEVOPS' 카테고리의 다른 글
패스트캠퍼스 챌린지 16일차[menu모델과 html로 보여주기] (0) | 2021.11.16 |
---|---|
패스트캠퍼스 챌린지 15일차[(배달서비스)Shop 모델 만들기] (0) | 2021.11.15 |
패스트캠퍼스 챌린지 13일차[Django 기초] (0) | 2021.11.13 |
패스트캠퍼스 챌린지 12일차[소규모 아키텍트 설계] (0) | 2021.11.12 |
패스트캠퍼스 챌린지 11일차[VPC EndPoint실습] (0) | 2021.11.11 |