[Django 05] settings.py Installed_Apps

장고 settings.py와 관련된 정리 글입니다.

기본적으로는, INSTALLED_APPS는 Django와 함께 딸려오는 다음의 앱들을 포함합니다.


# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

[Django 03] include()와 path()

REST API를 쓰고 싶다는 생각이였는데, 어쩌다보니 장고로 들어와버렸다.
파이썬을 공부하다보니 자연스럽게 흘러들어왔는데, 초보이지만 나름 정리를 하면서 내용을 공유하고 싶어서 글을 작성한다.

내용은 튜토리얼을 정리한 수준이다.

어느정도 시간이 지나고 나면 좋은 글이 나올수도 있겠지..

"""mysite URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/3.1/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    # 최상위 URL에서 polls.urls 모듈을 바라보게 설정
    # include() 함수는 다른 URLconf들을 참조할 수 있도록 도와준다.
    # - URL의 그 시점까지 일치하는 부분을 잘라내고, 
    # 남은 문자열 부분을 후속 처리를 위해 include된 URLconf로 전달

    # path()는 route와 view, kwargs, name을 사용 가능
    # - route : URL 패턴을 가진 문자열. 일치하는 패턴을 찾을 때 까지 요청된 URL을 
    #   각 패턴과 리스트의 순서대로 비교한다.
    #   패턴들은 GET이나 POST의 매개 변수들, 혹은 도메인 이름을 검색하지 않는다.
    #   https://www.example.com/myapp/이 요청될 경우, URLconf는 myapp/만 바라본다.
    #   https://www.example.com/myapp/?page=3 이 요청될 경우에도 myapp/만 신경쓴다.
    # - view 
    #   일치하는 패턴을 찾으면, HttpRequest 객체를 첫번째 인수로 하고, 경로로부터 <캡쳐된> 값을
    #   키워드 인수로 하여 특정한 view 함수를 호출
    # - kwargs
    #   view에 전달될 사전형 데이터
    # - name 
    #   URL에 이름을 지으면, 템플릿을 포함한 어디서나 명확하게 참조할 수 있다.
    #   이 강력한 기능을 통해, 단 하나의 파일만 수정해도 project내의 모든 URL 패턴을 바꿀 수 
    #   있도록 도와준다.
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]