URLConf
URL Configuration
장고에서 URL과 일치하는 뷰를 찾기 위한 패턴들의 집합
http://127.0.0.1:8000/ 주소를 블로그 홈 페이지로 지정하고
blog 애플리케이션에서 메인 mysite\urls.py 파일로 url들을 가져오자
blog.urls를 가져오기 위해 include 함수를 사용
mysite\urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('blog.urls')),
]
include를 적용하기 전에는
URL을 요청하면 프로젝트(mysite)의 urls.py에 방문하고 해당 URL의 함수를 호출하기 위해 애플리케이션(blog)의 views.py에 방문한다. 그 후 함수와 연결된 html을 호출하기 위해 애플리케이션(blog)의 templates에 방문한다.
include를 적용하면
URL을 요청하기 위해 프로젝트(mysite)의 urls.py에 방문하고 해당 URL의 urls파일을 호출하기 위해 애플리케이션(blog)의 urls.py에 방문한다. 이 후 해당 URL의 함수를 호출하기 위해 애플리케이션(blog)의 view.py를 방문하고 함수와 연결된 html을 호출하기 위해 애플리케이션(blog)의 templates에 방문한다.
blog\urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.post_list, name='post_list'),
]
post_list라는 view 함수를 할당
url 패턴은 빈 문자열에 매칭
url에 "post_list"라는 이름을 붙인 것으로 뷰를 식별
View(뷰)
애플리케이션의 "로직"을 넣는 곳
Model에서 필요한 정보를 받아와서 Template에 전달하는 역할
blog\views.py
from django.shortcuts import render
def post_list(request):
return render(request, 'blog/post_list.html', {})
post_list라는 함수 생성
해당 함수는 요청(request)을 넘겨받아 render 메서드를 호출
blog/post_list.html 템플릿을 보여준다
blog\templates\blog\post_list.html
<html>
<head>
<title>seomj's blog</title>
</head>
<body>
<p>Hi there!</p>
<p>It works!</p>
</body>
</html>
서버를 실행하고 확인하면 잘 적용이 된 것을 확인할 수 있다.
<출처>
https://tutorial.djangogirls.org/ko/django_urls/
https://tutorial.djangogirls.org/ko/django_views/
'Study > Web' 카테고리의 다른 글
Nginx ModSecurity 및 CRS 적용하기 (0) | 2024.03.01 |
---|---|
[Web]Django 쿼리셋(QuerySet) (0) | 2023.07.04 |
[Web]Django 애플리케이션 생성 및 관리자 설정 (0) | 2023.07.03 |
[Web]Django 가상환경 구성 및 설치 (0) | 2023.07.02 |
[Web]Django MTV 패턴 (0) | 2023.07.02 |