无法导入名称模式

时间:2011-11-10 04:18:44

标签: python django

在我写urls.py之前,我的代码......一切都很完美。现在我有问题 - 不能去我的网站。 “无法导入名称模式”

我的urls.py是:

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

他们说这里有什么错误。

8 个答案:

答案 0 :(得分:146)

自Django 1.10起,patterns模块已被删除(自1.8以来已被弃用)。

幸运的是,由于urlpatterns should now be stored in a plain-old list

,因此应该进行简单的编辑以删除有问题的代码
urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    # ... your url patterns
]

答案 1 :(得分:24)

您不需要这些导入。你在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的回答。

答案 2 :(得分:20)

是:

from django.conf.urls.defaults import ... # is for django 1.3
from django.conf.urls  import ...         # is for django 1.4

我也遇到了这个问题。

答案 3 :(得分:5)

这是适合我的代码。我的django版本 1.10.4 final

from django.conf.urls import url, include

from django.contrib import admin
admin.autodiscover()

urlpatterns = [
    # Examples:
    # url(r'^$', 'blog.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),
]

答案 4 :(得分:3)

django 1.8中没有格式模块。因此,您需要从导入中删除模式,并执行类似以下操作:

from django.conf.urls import include, url
from django.contrib import admin

admin.autodiscover()

urlpatterns = [                 
    # here we are not using pattern module like in previous django versions
    url(r'^admin/', include(admin.site.urls)),
]

答案 5 :(得分:1)

我通过将我的项目从GIT直接克隆到Eclipse中来解决它,

最初,我将其克隆到文件系统上的特定位置,然后将其作为现有项目导入Eclipse。

答案 6 :(得分:0)

好像你正在使用过时的django版本.. 只需更新django并再试一次.. 以下命令将更新您的django版本..

pip install --upgrade django

答案 7 :(得分:0)

from django.contrib import admin
from django.urls import path


urlpatterns = [
    path('admin/', admin.site.urls),
]