Django - 如何正确连接网址? url(),include(),ImportError

时间:2013-07-16 09:07:34

标签: django url structure django-urls importerror

我尝试通过将应用程序放在“apps”文件夹下来构建我的项目,如下所示:

├── manage.py
├── mysite
│   ├── apps
│   │   ├── __init__.py
│   │   ├── myapp1
│   │   │   ├── __init__.py
│   │   │   ├── models.py
│   │   │   ├── urls.py
│   │   │   └── views.py
│   │   └── myapp2
│   │       ├── __init__.py
│   │       ├── models.py
│   │       ├── urls.py
│   │       └── views.py
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   ├── wsgi.py

在mysite / urls.py中:

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^myapp1/', include('mysite.apps.myapp1.urls')),
    url(r'^mysite/apps/myapp2/', include('myapp2.urls')),
    url(r'^admin/', include(admin.site.urls)),
)

有问题:

    url(r'^myapp1/', include('mysite.apps.myapp1.urls')),
    url(r'^mysite/apps/myapp2/', include('myapp2.urls')),

我无法正确连接myapp1或myapp2,Django给我“ImportError ...没有名为myapp1的模块......”有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

也许是这样的:

include('mysite.apps.myapp1.urls')),

<强>更新

你可以尝试:

__init__.py目录

中添加文件mysite

答案 1 :(得分:0)

您错过了相对路径中的关卡:

url(r'^mysite/apps/myapp2/', include('apps.myapp2.urls')),

myapp1看起来应该对我有用。


一条说明,比较您尝试加入myapp1myapp2的方式,看起来您可能会略微误解结构。 URL与代码布局无关。这完全有效:

url(r'^zimzam/allthethings/', include('apps.myapp2.urls')),