【问题标题】:ImportError: No module named urlsImportError:没有名为 urls 的模块
【发布时间】:2017-11-02 23:33:09
【问题描述】:

我有一个基于 Django1.7 的 django rest 项目。我需要在 Django 1.11 上运行它。当我跑步时

python manage.py migrate

错误是:

ImportError: No module named urls

在 url.py 行

url(r'^docs/', include('rest_framework_swagger.urls')),

我已经在 url.py 文件中进行了修改以避免模式。 url.py 文件看起来像

from django.conf.urls import include,url
from django.conf import settings
from django.conf.urls.static import static
from django.views.generic.base import TemplateView
from django.contrib import admin


admin.autodiscover()

urlpatterns = [

url(r'^grappelli/', include('grappelli.urls')),
url(r'^docs/', include('rest_framework_swagger.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'', include('gcm.urls')),
url(r'^', include('apps.account.urls')),
url(r'^', include('apps.vegetables.urls')),
url(r'^', include('apps.orders.urls')),
url(r'^', include('apps.listings.urls')),
url(r'^', include('apps.rating.urls')),
url(r'^', include('apps.faq.urls')),
url(r'^thank-you/$', TemplateView.as_view(template_name="thankyou.html"), name="thankyou"),
url(r'^/error/$', TemplateView.as_view(template_name="error.html"), name="error"),
url(r'^$', TemplateView.as_view(template_name="index.html"), name="home"),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

urlpatterns += [
'',
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {
    'document_root': settings.STATIC_ROOT})]

我该如何运行它?

【问题讨论】:

  • 删除 grappelli 一个或将该网址放在末尾​​span>
  • 这是您的完整追溯吗?
  • 您的设置是否包括所有应用程序?还要检查所有应用程序本身是否都有 urls 模块?相同的代码在以前的版本上是否有效?
  • 移除 grappelli 不会产生任何变化。它适用于 1.7 版
  • 真的有需要让它在1.11版本中工作吗?您可以在虚拟环境中安装 1.7 吗?否则,我想知道您是否需要改用urlpatterns = patterns('', url( ... ) + static( ...)

标签: django django-rest-framework django-urls django-1.7 django-1.11


【解决方案1】:

在 urls.py 底部添加这个,

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT

从 Django 1.9 开始,它不支持将 URL 添加为字符串,但需要将其导入为可调用的。所以从你的 urls.py 中删除它。

urlpatterns += [ '', (r'^static/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.STATIC_ROOT})]

【讨论】:

    猜你喜欢
    • 2015-09-13
    • 1970-01-01
    • 2013-06-04
    • 2012-06-26
    • 2019-01-23
    • 2016-11-18
    • 1970-01-01
    • 2023-03-07
    • 2012-12-09
    相关资源
    最近更新 更多