我尝试通过将应用程序放在“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的模块......”有什么帮助吗?
答案 0 :(得分:0)
也许是这样的:
include('mysite.apps.myapp1.urls')),
<强>更新强>
你可以尝试:
在__init__.py
目录
mysite
答案 1 :(得分:0)
您错过了相对路径中的关卡:
url(r'^mysite/apps/myapp2/', include('apps.myapp2.urls')),
myapp1
看起来应该对我有用。
一条说明,比较您尝试加入myapp1
与myapp2
的方式,看起来您可能会略微误解结构。 URL与代码布局无关。这完全有效:
url(r'^zimzam/allthethings/', include('apps.myapp2.urls')),