1. 程式人生 > 實用技巧 >django2中namespace和name的使用

django2中namespace和name的使用

django2中namespace和name的使用

一、在Django <= 1.11 我們通過關鍵詞namespace引數定義名稱空間

1、projects/urls.py

  1. from django.conf.urls import url,include
  2. urlpatterns = [
  3. url(r'blog/', include('blog.urls', namespace='blog'))
  4. ]

2、apps/urls.py

  1. from django.conf.urls import url
  2. from . import
    views
  3. urlpatterns = [
  4. url(r'^login/$', views.login, name="login"),
  5. ]

二、在Django 2.0+ 我們可以省略namespace,把namespace定義到被include的urls.py中去,使用app_name定義名稱空間。

1、projects/urls.py

  1. urlpatterns = [
  2. path(r'^blog/', include('blog.urls'))
  3. ]

2、apps/urls.py

  1. from django.urls import
    path
  2. from . import views
  3. app_name = 'blog'
  4. urlpatterns = [
  5. path('login/', views.login, name="login"),
  6. ]

三、在templates中我們還是像原來一樣的使用方法

{% url 'blog:login' %}