Django , user 앱에서
views.py 에 들어가면
from django.shortcuts import render, redirect
가 있는데 어떤 함수인지 모르니까 ...
답답해서 chat gpt에게 물어봤다.
from django.urls import path
from . import viewsurlpatterns = [
path('sign-up/', views.sign_up_view, name='sign-up'),
path('sign-in/', views.sign_in_view, name='sign-in'),
]
✔ Django 에서 path 함수를 사용 하는 방법
- Django에서 path 함수는 URL 패턴을 정의할 때 사용됩니다.
URL 패턴은 사용자가 요청한 URL과 매치되어 실행될 뷰를 결정합니다.
path 함수는 다음과 같은 형식으로 사용됩니다.
from django.urls import path
from . import views
urlpatterns = [
path('url-pattern/', views.my_view, name='my-url-name'),
]
위 코드에서는
/url-pattern/ 이라는 URL 패턴과
my_view 라는 뷰 함수를 매칭하고 있습니다.
urlpatterns 리스트에 path 함수로 정의된 URL 패턴이 추가되며,
첫 번째 인자로 URL 패턴 문자열을 받습니다. 이 패턴은 앞에 슬래시(/)가 없어야 합니다.
두 번째 인자로는 실행될 뷰 함수를 받습니다.
세 번째 인자로는 URL 패턴에 이름을 지정할 수 있습니다.
- URL 패턴에는 다음과 같은 요소를 사용할 수 있습니다.
▶문자열: /my-url-pattern/
▶변수: /url-pattern/<int:my_id>/
▶정규표현식: re_path(r'^url-pattern/(?P<my_slug>[\\\\w-]+)/$', views.my_view)
URL 패턴을 변수로 정의할 경우, URL에서 값을 가져오기 위해
angle bracket(<>)과 함께 변수명과 타입을 지정해줍니다.
URL 패턴을 정규표현식으로 정의할 경우 re_path 함수를 사용합니다.
이 때, 정규표현식에 매칭되는 부분을 괄호로 묶어 변수로 사용할 수 있습니다.
path 함수를 사용하여 정의한 URL 패턴은
urlpatterns 리스트에 추가되어야 합니다.
이 urlpatterns 리스트는 Django 프로젝트에서
urls.py 파일을 통해 정의됩니다.
해당 파일에서 urlpatterns 리스트를 정의하고,
앱에서 정의한 urlpatterns 리스트를 include 함수를 통해 추가할 수 있습니다.
urlpatterns 리스트
urlpatterns 리스트는 Django 앱의 "URL 매핑"을 담당하며,
사용자가 앱의 "특정 URL에 접속"할 때 호출되는 "뷰 함수를 지정"합니다
/sign-up/과 /sign-in/
위 코드에서 /sign-up/과 /sign-in/이라는 URL 패턴이 정의되어 있습니다.
이 패턴은 각각 views.sign_up_view와 views.sign_in_view라는 함수와 매칭됩니다.
이 함수들은 사용자가 해당 URL에 접속할 때 실행되어 해당 뷰를 렌더링하게 됩니다.
URL 패턴
name 속성으로 이름을 지정할 수 있으며,
이를 이용하여 템플릿에서 해당 URL을 참조할 수 있습니다.
path 함수와 include 함수
from django.urls import path, include
위 코드는 Django 웹 프레임워크에서
URL 패턴 매칭을 위한 urlpatterns 리스트를 정의할 때,
path 함수와 함께 include 함수를
함께 import하는 것을 의미합니다.
Django에서 include 함수는 다른 앱의 urlpatterns 리스트를
현재 urlpatterns 리스트에 추가할 때 사용됩니다.
이를 통해 여러 개의 앱을 하나의 프로젝트에서 관리할 수 있습니다.
예를 들어, 다음과 같이 다른 앱에서 정의한 URL 패턴을
현재 앱의 urlpatterns 리스트에 추가할 수 있습니다.
from django.urls import path, include
from myapp import views
urlpatterns = [
path('', views.home, name='home'),
path('myapp/', include('myapp.urls')),
]
위 코드에서 include 함수를 사용하여
myapp 앱에서 정의한 URL 패턴을
현재 앱의 urlpatterns 리스트에 추가하였습니다.
이를 통해 /myapp/ 이하의 URL 패턴은
myapp 앱에서 정의한 URL 패턴을 따르게 됩니다.
render
render 함수는 Django에서 제공하는 뷰 함수 중 하나로,
템플릿을 사용하여 HTML 페이지를 렌더링하는 데 사용됩니다.
첫 번째 인자로는 요청 객체(request)를,
두 번째 인자로는 템플릿 파일 이름을,
세 번째 인자로는 템플릿에 전달될 컨텍스트를 전달합니다.
render 함수는 템플릿에 컨텍스트를 전달하여
"동적인 HTML 페이지"를 생성합니다.
redirect
redirect 함수는 뷰에서 다른 URL로
사용자를 리다이렉트 시키는 데 사용됩니다.
첫 번째 인자로는 이동하고자 하는 URL을 전달합니다.
이 함수를 호출하면 사용자의 브라우저는 해당 URL로 이동합니다.
'부트캠프TIL, WIL > AI웹개발(스파르타코딩클럽)' 카테고리의 다른 글
[AI웹개발][25일차TIL] Django 기초 닦기 (1) | 2023.04.10 |
---|---|
[AI웹개발][24일차TIL] Django 에서 모듈, 함수 익히기(2) (0) | 2023.04.09 |
[AI웹개발][21일차TIL]Django 기초반 2주차 강의 개발일지 (0) | 2023.04.07 |
[AI웹개발][22일차TIL]MAC의 터미널에서 homebrew 설치가 안되는 오류 해결하기[Chat GPT이용] (3) | 2023.04.06 |
[AI웹개발][20일차TIL] VS code에서 Django사용법, 쿼리란?, ORM이란? 장고에서 웹의 동작 순서 이해하기, Web Framework란? (0) | 2023.04.05 |