作为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
