[Django] 데이터 흐름과 기본 파일 분석

작성:    

업데이트:

카테고리:

태그: ,

요청과 응답

URLs : urls.py

HTTP 요청(request)을 알맞은 view로 전달

# urls.py

from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
]
  • url을 분석해서 admin/ 이 있으면 이후의 url을 admin.site.urls path 함수로 이동
  • end slash(/)를 반드시 붙여주어야 한다.


views.py import

HTTP request가 admin이 아닌 index로 들어오는 경우 메인 페이지를 보여주려고 한다.

from django.contrib import admin
from django.urls import path
# articles 패키지의 views 모듈 import
from articles import views 

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', views.index),
]

views 모듈의 index 함수를 index/ 의 입력의 path함수로 지정

trailing comma : python 안에서 리스트 내에 ‘,’ comma가 있다. 이후에 바로 작성해서 생산성을 높이기 위함이다.


View : views.py

from django.shortcuts import render

def index(request):
    return render(request, 'index.html')

request

  • view 함수가 필수로 받아야 하는 인자
  • client가 server로 보내는 HTTP의 모든 정보
  • return에 render를 사용할 때 첫 인자로 필수로 사용


templates

index.html 파일이 없는데 이는 자동으로 만들어지지 않는다.

template는 자동으로 만들어지지 않는다!

만들어보자.


app 폴더에 templates 폴더를 만들고, index.html 파일을 만든다.


추가 설정 : settings.py

# Internationalization
# https://docs.djangoproject.com/en/3.2/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True


LANGUAGE_CODE

  • 모든 사용자에게 제공되는 번역 결정
  • USE_I18N활성화되어 있어야 한다.
LANGUAGE_CODE = 'ko-kr'


TIME_ZONE

  • DB 연결의 시간대를 나타내는 문자열 지정
  • USE_TZ가 True이고 이 옵션이 설정된 경우 DB에서 날짜 시간 읽으면 설정한 시간대의 인식 날짜&시간 반환
  • USE_TZ이 False인 상태로 값 설정 시 에러 발생
TIME_ZONE = 'Asia/Seoul'


etc

USE_I18N

  • Django의 번역 시스템을 활성화해야 하는지 여부 지정


USE_L10N

  • 데이터의 지역화된 형식(localized formatting)을 기본적으로 활성화할 것인지 여부 결정
  • True일 경우, Django는 현재 locale의 형식을 사용하여 숫자와 날짜 표시


USE_TZ

  • datetimes가 기본적으로 시간대를 인식하는지 여부 지정
  • True일 경우 Django는 내부적으로 시간대 인식 날짜/시간을 사용

댓글남기기