1. Django 공부 방향과 원리

Django는 Python으로 빠르게 웹을 개발하기 위해 나온 Web Framework입니다. 대부분의 기능들이 자동화 되어 있으며 공식문서도 잘 되어 있어 공식문서 정독을 한번 하면 다른 문서는 필요 없을 정도로 상세 내용을 가지고 있습니다.

우리는 지금까지 간단한 카페 블로그를 만들어 보았습니다. 그러나 Django에 극히 일부분만을 다룬 것입니다. 더 강력한 Django의 기능을 사용하고 싶으시다면 AskDjango의 강의를 참고하시길 권해드립니다. 또한, 책은 아래 3권을 추천해드려요.

  1. Python 웹 프로그래밍(초급, 공식문서에 가까운 상세한 설명)
  2. Django로 쉽게 배우는 배프의 오지랖 파이썬 웹 프로그래밍(실전 응용)
  3. AWS 클라우드 기반의 Django 웹 어플리케이션(실전 응용)

아래는 Django의 기능을 전체 도식화 정리 해놓은 것입니다. 보시면서 놓치신 것이 없으신지 체크해보시기 바랍니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c1411826-b5b5-4c52-a419-17892a95565f/Untitled.png

2. URL 설계

<aside> 💡 전체 소스코드는 https://github.com/paullabkorea/jejucodingcamp 에서 보실 수 있습니다. 프로젝트 실행을 해보고 싶으시다면 해당 사이트의 README 설명서를 따라 소스코드를 다운로드 받고 세팅해주세요.

</aside>

챕터에서 수정한 순서대로 빨간색 네모를 그려보았습니다. 처음에는 urls.py에서 url 파싱을 하였습니다. 아래 코드는 우리가 수정한 코드 전문입니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8c8d8b72-9506-4f9b-adea-eba9979f4312/Untitled.png

urls.py

from django.contrib import admin
from django.urls import path
from main.views import index, about, write, cafelist, cafedetails
from django.conf.urls.static import static
from django.conf import settings

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', index, name='index'),
    path('about/', about, name='about'),
    path('write/', write, name='write'),
    path('cafelist/', cafelist, name='cafelist'),
    path('cafelist/<int:pk>/', cafedetails, name='cafedetails'),
]

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)