Django-如何正确连接URL?url(),include(),ImportError
我试图通过将应用程序放在“apps”文件夹下来构建我的项目,如下所示:Django-如何正确连接URL?url(),include(),ImportError,django,url,structure,django-urls,importerror,Django,Url,Structure,Django Urls,Importerror,我试图通过将应用程序放在“apps”文件夹下来构建我的项目,如下所示: ├── manage.py ├── mysite │ ├── apps │ │ ├── __init__.py │ │ ├── myapp1 │ │ │ ├── __init__.py │ │ │ ├── models.py │ │ │ ├── urls.py │ │ │ └── views.py │ │ └── myapp2 │ │
├── 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/url.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的模块…”任何帮助?可能是这样的:
include('mysite.apps.myapp1.urls')),
更新
您可以尝试:
在
mysite
dir中添加一个文件\uuuu init\uuuu.py
,相对路径中缺少一个级别:
url(r'^mysite/apps/myapp2/', include('apps.myapp2.urls')),
myapp1
看起来应该对我有用
请注意,比较您试图包含
myapp1
和myapp2
的方式,您可能对结构有点误解。URL与代码布局无关。这是完全正确的:
url(r'^zimzam/allthethings/', include('apps.myapp2.urls')),
这就是我尝试过的:如果myapp1文件夹与manage.py处于同一级别,那么url(r“^myapp1/”,include('myapp1.url')将work@HowardLee我更新了我的answser,你可以试试,希望它能帮助你谢谢你的提示,Izkata。但是,我尝试了您的解决方案,编辑了sdnsite/url.py,它仍然让人感到恐惧。我的目录结构:My sdnsite/url.py:Django错误:我知道origin/url.py没有问题,因为如果我将应用程序放在manage.py级别,它会正常运行。@HowardLee实际上,问题可能是。举个例子:每当他们使用
include()
,它都在一个普通元组中,而不是在对url()
的调用中。行吗?问题解决了!是的,你说得对,myapp1可以工作。这实际上是myapp1.url.py的问题。我有“从myapp1导入视图”而不是“导入视图”。我不应该有“从myapp1导入视图”,因为它将在“myapp1”中查找另一个“myapp1”文件夹。我打印了python的加载路径,并能够跟踪问题。