2017-06-05 20 views
1

Django的文檔顯示這樣的例子:Django的URL調度器使用字符串來指定函數,爲什麼?

from django.conf.urls import url 

from . import views 

urlpatterns = [ 
    url(r'^articles/2003/$', views.special_case_2003), 

] 

不過,我已經看到了一些代碼,看起來像這樣:

from django.conf.urls import url 

urlpatterns = [ 
    url(r'^articles/2003/$', 'myapp.views.special_case_2003'), 

] 

special_case_2003myapp/views.py函數的名稱。 這兩種方法有什麼區別?

回答

2
urlpatterns = [ 
    url(r'^articles/2003/$', 'myapp.views.special_case_2003'), 
] 

這樣的代碼已過時。將此視圖設置爲像這樣的字符串is deprecated in Django 1.8does not work in Django 1.10+。在Django 1.10+中,您必須使用可調用函數。

+0

儘管在'include'中使用字符串仍然可以 –

相關問題