728x90
목차
1. View와 URL
2. Templates
3. 추가 설정
앞에서 봤듯이 우리는 Django를 이용하여 사용자가 원하는 데이터를 요청하면 우리는 응답을 하며 데이터를 제공할 것이다. 이 과정을 URL -> VIEW -> TEMPLATE 순서로 코드를 작성해보며 데이터 흐름을 이해해볼 것이다.
1. VIEW
웹 페이지에서 하이퍼링크를 통하여 다른 페이지로 이동하기 위해서는 URL이라는 주소를 적어주어야 한다.
- 프로젝트 폴더 - urls.py의 urlpatterns 리스트 내에 경로 지정
- path('app name/', include('app name.urls'))
- 사용할 앱 폴더 - urls.py 내에 모듈을 import해준다.
- from 'app name' import views
- 마찬가지로 앱 폴더 -urlpatterns 리스트 내부에 경로를 지정해준다.
- path('함수 name/', views. 함수 name),
- 이제 앱 폴더 - view.py에 사용할 데이터 함수를 정의해준다.
- def 함수 name(request): return render(request, '함수 name.html')
- HTTP 요청을 수신하고 HTTP 응답을 반환하는 함수 작성
- Template에게 HTTP 응답 서식을 맡김
render 함수
- 주어진 템플릿을 주어진 콘텍스트 데이터와 결합하고 랜더링 된 텍스트와 함께 HttpResponse(응답) 객체를 반환하는 함수이다.
1. requset
- 응답을 생성하는 데 사용되는 요청 객체
2. template_name
- 템플릿의 전체 이름 또는 템플릿 이름의 경로
3. context
- 템플릿에서 사용할 데이터 (딕셔너리 타입으로 작성)
2. Templates
- 실제 내용을 보여주는 데 사용되는 파일
- 파일의 구조나 레이아웃을 정의
- Template 파일의 기본 경로
- app 폴더 안의 templates 폴더
- app_name/templates/
- 중요!! 템플릿 폴더 이름은 반드시 templates라고 지정
앞으로 Django의 코드 작성은 URL - VIEW - TEMPLATE 순으로 작성하자!! 즉, "데이터의 흐름 순서" 대로 작성한다.
3. 추가 설정
1. Language_code
- 모든 사용자에게 제공되는 번역을 결정
- 이 설정이 적용되려면 USE_I18N이 활성화(True)되어 있어야 한다.
2. TIME_ZONE
- 데이터베이스 연결의 시간대를 나타내는 문자열 지정
- USE_TZ가 True이고 이 옵션이 설정된 경우 데이터베이스에서 날짜 시간을 읽으면, UTC 대신 새로 설정한 시간대의 인식 날짜&시간이 반환됨
- USE_TZ이 False인 상태로 이 값을 설정하는 것은 error가 발생하므로 주의
3. USE_I18N
- Django의 번역 시스템을 활성화해야 하는지 여부를 결정
4. USE_L10N
- 데이터의 지역화된 형식(localized formatting)을 기본적으로 활성화할지 여부를 지정
- True일 경우, Django는 현재 locale의 형식을 사용하여 숫자와 날짜를 표시
5. USE_TZ
- datetimes가 기본적으로 시간대를 인식하는지 여부를 지정
- True일 경우 Django는 내부적으로 시간대 인식 날짜 / 시간을 사용
다음 글부터 template를 실습과 함께 이해해보자!!
728x90
'Back-end > Django' 카테고리의 다른 글
[Django] Form Data (0) | 2022.09.03 |
---|---|
[Django] Template2 - Inheritance(상속) (0) | 2022.09.03 |
[Django] Template1 -DTL (0) | 2022.09.01 |
[Django] 가상환경 및 시작하기 (0) | 2022.09.01 |
Django? (1) | 2022.08.31 |