作为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 {开始{3}})。
我的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
文件夹也无济于事。
答案 0 :(得分:1)
我终于通过以下方式解决了这个问题:
__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