Django - 没有模块名称site.urls

时间:2013-10-18 09:48:17

标签: python django openshift

作为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_URLCONFchampis.urls。 你知道为什么吗?即使将site文件夹移动到champis文件夹也无济于事。

1 个答案:

答案 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