from django.urls import path
from . import views
urlpatterns = [
# ex: /polls/
path('', views.index, name='index'),
]
project/urls.py
최상위 URLconf(프로젝트 생성시 생긴 urls.py)에서 애플리케이션의 url을 바라보게 설정한다.
from django.contrib import admin
from django.urls import include,path
urlpatterns = [
path('app/', include('app.urls')),
path('admin/', admin.site.urls),
]
"""mysite URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
주석으로 urlpatterns에 대한 설명이 있다.
Include() : 다른 URLconf를 참조할 수 있도록 한다.
path('사용자지정경로', include(url Conf module))
다음과 같이 urlConf 모듈이 존재하면 앞의 path 설정에는 아무 경로에 연결하더라도 작동한다.
$ python manage.py runserver
서버를 실행시킨 후 http://localhost:8000/app/ 연결한 경로에 들어가면 View에서 설정한 화면이 나오는 것을 확인할 수 있다.
path()
path(route, view,kwargs=None, name=None)
route : URL 패턴을 가진 문자열이다. urlpatterns 의 첫번째 패턴부터 시작해, 일치하는 패턴을 찾을 때까지 요청된 url을 각 패턴을 순서대로 비교한다.
view : 일치하는 패턴을 찾으면 HttpRequest 객체를 첫번째 인수로 하고, view 함수를 호출한다.
name : URL에 이름을 지으면, 템플릿을 포함한 장고 어디에서든 명확하게 참조할 수 있다.