django2中namespace和name的使用

一、在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' %}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章