2

我尝试通过将应用程序放在“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...no module named myapp1...”有什么帮助吗?

4

2 回答 2

0

也许是这样的:

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

更新

你可以试试:

__init__.pymysite目录中添加一个文件

于 2013-07-16T09:13:56.103 回答
0

您在相对路径中缺少一个级别:

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

myapp1看起来它应该对我有用。


注意,比较您尝试包含myapp1vsmyapp2的方式,看起来您可能稍微误解了结构。URL 与代码布局无关。这是完全有效的:

url(r'^zimzam/allthethings/', include('apps.myapp2.urls')),
于 2013-07-16T21:55:41.397 回答