본문 바로가기
Python/Django

Django - 템플릿 상속과 URL연결, path() 함수

by 코드뭉치 2023. 4. 4.

템플릿 상속

템플릿 문법

{% 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

댓글