繁体   English   中英

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

[英]ImportError: no module named urls but ROOT_URLCONF is correct

我已经阅读了所有可以在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的模块”)。

urls.py文件在那里,那么settings.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')),
)

解决方案是从“ admin.site.urls”中删除引号。 包括来自INSTALLED_APP的URL时,仍需要使用引号,但由于某些原因,管理员不喜欢引号。

user_myusername_xyz是python软件包吗? 该目录是否具有init .py? 如果不是,则不应在导入路径中

我猜不,不是,您需要更多类似的东西:

ROOT_URLCONF = 'djangotut.urls'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM