无法导入名称 patterns
在我写了urls.py
之前,我的代码...一切都运行得很好。现在我遇到了问题 - 无法访问我的网站。“无法导入名称 patterns”
我的urls.py
是:
from django.conf.urls import patterns, include, url
他们说错误就在这里的某个地方。
9 个回答
21
是的:
from django.conf.urls.defaults import ... # is for django 1.3
from django.conf.urls import ... # is for django 1.4
我也遇到过这个问题。
162
从Django 1.10开始,patterns
模块被移除了(自1.8版本起就已经不推荐使用了)。
幸运的是,删除这些不再使用的代码应该很简单,因为现在urlpatterns
应该存放在一个普通的列表里:
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
# ... your url patterns
]
30
你不需要那些导入的内容。在你的urls.py文件里,最开始只需要写这个:
from django.conf.urls.defaults import *
# This two if you want to enable the Django Admin: (recommended)
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
# ... your url patterns
)
注意:这个解决方案是针对Django 1.6之前的版本的。其实这是Django自己生成的代码。对于新版本,请参考Jacob Hume的回答。