Django - 包括应用程序网址

新手上路,请多包涵

我有以下结构(Django 1.4):

 containing_dir/
    myproject/
        myapp1/
        myapp2/
        myapp3/

myproject、myapp1、myapp2 和 myapp3 都有 init.py ,所以它们都是模块。

在 manage.py(在 containing_dir 下)我有 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")

在 myproject.settings 我定义:

 [..]
ROOT_URLCONF = 'myproject.urls'
INSTALLED_APPS = (
    [..]
    'myproject.myapp1',
    'myproject.myapp2',
    'myproject.myapp3',
)
[..]

在 myapp1.urls.py 我定义:

 urlpatterns = patterns('myapp1',
    url(r'^agent/$', 'views.agent',    name='agent')
)

我尝试将其导入 myproject.urls 我尝试像这样导入 myapp1 url:

 (r'^myapp1/', include('myproject.myapp1.urls'))

但每当我尝试 lo load localhost:8000/myapp1/agent 我得到

Exception Value: No module named myapp1

我认为从 myapp1.urls 中抛出

有什么帮助吗?谢谢

原文由 pistacchio 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 518
1 个回答

你必须有一个

__init__.py

“myproject”目录中的文件。当你说:

 (r'^myapp1/', include('myproject.myapp1.urls'))

你说“myproject”(以及 myapp1)是一个 python packege。

原文由 Raydel Miranda 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏