![](/img/trans.png)
[英]Django: ROOT_URLCONF: How to distinguish between two folders with same name with two 'urls.py'?
[英]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.