2017-08-18 37 views
0

我的項目urls.py無法導入模式在Django 1.11.4

from django.conf.urls import patterns, include, url 

urlpatterns = patterns('', url(r'^hello/', 'myapp.views.hello', name = 'hello'),) 

現在,只要我嘗試運行它,它會給我以下錯誤:

from django.conf.urls import patterns, include, url 
ImportError: cannot import name 'patterns' 
+0

取決於您的django版本,您可能需要'from django.conf.urls.detault import patterns'而不是 – RHSmith159

+1

請注意,您可以在Django 1.7+中刪除'admin.autodiscover()'。 – Alasdair

回答

4

Django不要求你再使用的模式,你可以讓urlpatterns網址

urlpatterns = [url(r'^hello/', 'myapp.views.hello', name = 'hello'),] 
+2

這解決了一半的問題。然後你需要導入[用可調用的字符串替換'myapp.views.hello'](https://stackoverflow.com/questions/38744285/)。 – Alasdair

+1

@Alasdair - 是的,那是真的。雖然我不想破壞OP的所有研究:) – Sayse

1

Django的1.11加載該Python模塊的列表,並查找urlpatterns變量。這應該是django.conf.urls.url()實例的Python列表。

而且它貫穿每個URL模式,從而,在相匹配的請求的URL

不要要求patterns更多的第一個停止。

urlpatterns應該是url()實例的Python列表。