作为this other SO post shows,我的Django 1.4目录结构全局如下:
wsgi/
champis/
settings.py
settings_deployment.py
urls.py
site/
static/
css/
app.css
templates/some_app/foo.html
__init__.py
urls.py
views.py
models.py
manage.py
项目是
champis
,应用程序是site
。我的PYTHONPATH包括wsgi
文件夹(根据Django标准,它应该以项目命名,即champis
,但这里我从Openshift django-example Git project开始)。我的
champis.urls
:from django.conf.urls import patterns, include, url
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^champis/', include('site.urls')),
url(r'^admin/', include(admin.site.urls)),
)
然后,我的
site.urls
模块路由到特定页面,但是当尝试在本地访问时,出现错误:http://127.0.0.1/champis => no module name site.urls
我的
site
中存在INSTALLED_APPS
应用,而我的ROOT_URLCONF
是champis.urls
。你知道为什么吗?即使将
site
文件夹移到champis
文件夹中也无济于事。 最佳答案
我终于设法通过以下方式解决了这个问题:
在项目级别添加__init__.py
将我的site
应用重命名为web
(应用名称似乎与...冲突,但是我找不到)
现在是我当前的目录结构:
wsgi/
champis/
settings.py
settings_deployment.py
urls.py
web/ <= changed app name
static/
css/
app.css
templates/some_app/foo.html
__init__.py
urls.py
views.py
models.py
manage.py
__init__.py <= added
关于python - Django-没有模块名称site.urls,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19446580/