我已经阅读了我在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')),
)
答案 0 :(得分:1)
解决方案是从'admin.site.urls'中删除引号。当包含来自INSTALLED_APP的URL时,仍然需要引号,但由于某种原因,管理员不喜欢引号。
答案 1 :(得分:0)
是user_myusername_xyz一个python包吗?该目录是否有 的初始化强>的.py ?如果没有,则不应该在导入路径中
我猜不,它没有,你需要更像的东西:
ROOT_URLCONF = 'djangotut.urls'