템플릿 상속
템플릿 문법
{% extends 'base.html' %}
{% block title %}
로그인
{% endblock %}
{% block content %}
...
{% endblock %}
이렇게 {% %}의 형태로 이루어진 것들은 장고에서 말하는 템플릿 문법
html을 이어서 작성할 수 있게 해주고, html파일에 파이썬 기능들을 추가해 줄 수 있도록 도와주는 문법들
{% extends 'base.html' %}에서 base.html을 상속 받아서 사용하는데,
{% block content %}와 {% endblock %} 사이에 있는 것들은 자식 템플릿에 있는 것을 사용하겠다는 의미
클래스에서 부모클래스의 메소드를 상속받은 뒤 자식클래스에서 오버라이딩하는 느낌
url - view - template 이어주기
user 앱에서 urls.py 파일을 생성 후
메인 프로젝트 urls에 연결
# urls.py
from django.contrib import admin
from django.urls import path, include # include 추가
from . import views
urlpatterns = [
path('admin/', admin.site.urls),
path('test/', views.base_response,name='first_test'),
path('first/', views.first_view,name='first_view'),
path('', include('user.urls')), # include를 사용해 url연결
]
user앱의 views.py
# user/views.py
from django.shortcuts import render # render는 html파일을 화면에 보여주는 역할
# Create your views here.
def sign_up_view(request):
return render(request, 'user/signup.html')
def sign_in_view(request):
return render(request, 'user/signin.html')
user앱의 urls.py 작성
# user/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('sign-up/', views.sign_up_view, name='sign-up'),
path('sign-in/', views.sign_in_view, name='sign-in'),
]
path 함수가 인자로 받는 것들
path(route , view , kwargs(선택적), name(선택적))
route : URL 패턴을 나타내는 문자열
view : URL이 매칭되었을 때 실행될 view함수 또는 클래스, 필수로 지정해야 한다.
kwargs : 키워드 인자로 전달되는 값들을 포함하는 딕셔너리
name : URL패턴에 이름을 지정하는 문자열 (Django의 다른 부분에서 참조할 때 유용)
'Python > Django' 카테고리의 다른 글
Django - 로그인 기능 (0) | 2023.04.04 |
---|---|
Django - 회원가입 기능과 CSRF 토큰 (0) | 2023.04.04 |
Django - Models 만들기 (0) | 2023.04.04 |
Django - Admin기능 (0) | 2023.04.04 |
Django - DB연결과 ORM(Object Relational Mapping) (0) | 2023.04.04 |
댓글