Django
Django 페이지 생성하기
차디러루너
2023. 5. 9. 14:00
728x90
페이지 생성 순서
- urls 작성
- views 작성
- templates 작성
urls 작성
# AppName/urls.py
from django.urls import path
from . import views
app_name = 'AppNames'
urlpatterns = [
path('temp/', views.temp, name="temp")
]
- 애플리케이션 폴더 내부에 urls.py 파일 생성
- app_name 작성 주의
path('temp/', views.temp, name='temp')
- urlpatterns 리스트 내부에 path()로 url 작성
- 'temp/' : AppName/temp/ 로 요청이 들어온다면
- views.temp : views 모델의 temp 함수 실행
- name='temp' : 이 작업의 이름 설정
views 작성
# AppName/views.py
def temp(request):
return render(request, 'AppNames/temp.html')
- 페이지 함수 정의
- 함수 이름은 urls.py의 urlpatterns 리스트 내부에 작성한 views. 이후 이름과 같아야 함
- 첫 번째 입력 인자로 request 작성
- 페이지 render 반환 시 첫 인자로 request 반환
- request 입력 시, AppName 폴더 속 temp.html 반환
templates 작성
template 작성 순서
- base.html 작성 -> 프로젝트 단위 최초 1회
- templates 폴더 생성 -> 애플리케이션 단위 최초 1회
- templates 작성 - 개별 페이지
base.html 작성
https://chadireoroonu.tistory.com/39
Django 기본 탬플릿(base.html) 생성, App 탬플릿 상속
base.html 모든 html 탬플릿이 공통적으로 가지는 구조를 정의하여 다른 html 문서에서의 반복 최소화 다른 html 문서들은 base.html을 상속 받아 사용하게 됨 생성 $ mkdir templates $ code templates/base.html templa
chadireoroonu.tistory.com
templates 폴더 생성 및 개별 페이지 생성
$ mkdir templates
$ mkdir AppNames
$ code AppName/temp.html
- AppName 폴더 내부에 templates 폴더 생성
- templates 폴더 내부에 AppName 폴더 생성
- templates/AppName 내부에 개별 페이지 생성
templates 작성 - 개별 페이지
{% comment %} temp.html {% endcomment %}
{% extends 'base.html' %}
{% block content %}
<h1>TEMP</h1>
{% endblock content %}
- base.html 의 내용을 extends 태그로 상속 받기
- block 태그 내부에 내용 입력
- html 규칙에 따라 내용 작성