ImportError:没有名为urls的模块,但ROOT_URLCONF是正确的

时间:2015-07-23 21:20:12

标签: python django url

我已经阅读了我在google / SO上可以找到的所有类似问题,并且大多数人都遇到了ROOT_URLCONF不正确或缺少 init .py的问题。

我的项目结构是

djangotut/
    polls/
    static/
    templates/
    __init__.py
    manage.py
    settings.py
    urls.py

我的项目名为djangotut,还有一个名为user_myusername_xyz的组级别(我的工作地点有一些我们用于项目设置的预制代码,而且我已经多次这样做而没有碰到这个问题)。

我已经尝试了

ROOT_URLCONF = 'user_myusername_xyz.djangotut.urls'

(这是我们的项目' settings.py文件默认为)

ROOT_URLCONF = 'djangotut.urls'

ROOT_URLCONF = 'urls'

我每次都得到ImportError,而且我知道它是那行,因为ExceptionValue更改为我在那里使用的字符串。 (例如:"没有名为user_myusername_xyz.djangotut.urls&#34的模块;)。

urls.py文件在那里,为什么设置不能看到它?

urls.py

from django.conf.urls import include, patterns, url
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^apps/username_myusername_xyz/djangotut/',     
    include('djangotut.polls.urls')),
    url(r'^admin/', include('admin.site.urls')),
)

2 个答案:

答案 0 :(得分:1)

解决方案是从'admin.site.urls'中删除引号。当包含来自INSTALLED_APP的URL时,仍然需要引号,但由于某种原因,管理员不喜欢引号。

答案 1 :(得分:0)

是user_myusername_xyz一个python包吗?该目录是否有     的初始化的.py ?如果没有,则不应该在导入路径中

我猜不,它没有,你需要更像的东西:

ROOT_URLCONF = 'djangotut.urls'