[Django] 데이터 흐름과 기본 파일 분석
작성:    
업데이트:
카테고리: Django
태그: BE Framework, 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는 내부적으로 시간대 인식 날짜/시간을 사용
댓글남기기