一、在Django <= 1.11 我們通過關鍵詞namespace參數定義名稱空間
1、projects/urls.py
from django.conf.urls import url,include
urlpatterns = [
url(r'blog/', include('blog.urls', namespace='blog'))
]
2、apps/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^login/$', views.login, name="login"),
]
二、在Django 2.0+ 我們可以省略namespace,把namespace定義到被include的urls.py中去,使用app_name定義名稱空間。
1、projects/urls.py
urlpatterns = [
path(r'^blog/', include('blog.urls'))
]
2、apps/urls.py
from django.urls import path
from . import views
app_name = 'blog'
urlpatterns = [
path('login/', views.login, name="login"),
]
三、在templates中我們還是像原來一樣的使用方法
{% url 'blog:login' %}