Django 1.8无法使用多个url conf文件匹配url模式

时间:2015-05-12 16:40:07

标签: python django

我正在使用Django 1.8运行一个基本项目,我不确定我是否遗漏了文档中的内容或者只是误解了它。

我遇到问题urls.py识别正确的网址格式。 我使用This section of the Django documentation作为示例。

我的项目目录结构是:

integrations 
  |--integrations
           |--- migrations
                    |-- ....
           |-- __init__.py
           |-- admin.py
           |-- models.py
           |-- settings.py
           |-- urls.py
           |-- views.py
           |-- wsgi.py
  |-- templates
           |-- ....
  |-- manage.py

具体来说,urls.py的内容是:

from django.conf.urls import include, url
from django.contrib import admin
from . import views

urlpatterns = [
    url(r'^wsa/', views.index, name='index'),
    url(r'^(?P<customer_id>[0-9]+)/$', views.address_detail, name='address_detail'),
    url(r'^admin/', include(admin.site.urls)),
]

如您所见,我在此文件中列出了wsa作为网址格式。根据上面提到的文档,应该删除它,而不是url(r'^$', views.index, name='index'),

该文档还显示了一个不同的目录结构,在urls.py旁边的根目录中显示为根manage.py。这是文档表明我将wsa模式放在孩子urls.py中的地方;但是,当我这样做时,不会读取该文件,而是我的网址模式开始失败:

Using the URLconf defined in integrations.urls, Django tried these URL patterns, in this order:
^$ [name='index']
The current URL, wsa/, didn't match any of these.

导致失败的corlponding url.py文件:

urls.py:

from django.conf.urls import include, url
from django.contrib import admin   

urlpatterns = [      
    url(r'^wsa/', include('integrations.urls')),
    url(r'^admin/', include(admin.site.urls)),
]

集成\ urls.py:

from django.conf.urls import include, url
from django.contrib import admin
from . import views

urlpatterns = [
    url(r'^$', 'views.index', name='index'),      
]

我错过了什么?

1 个答案:

答案 0 :(得分:1)

你在这里误解了一些事情。

&#34;整合&#34;子目录不应包含模型或视图代码。这是您的设置和wsgi文件的位置,也是主要的urls.py.这是文档中提到的文件。

您的实际代码应该进入一个新的应用程序,让我们说&#34; wsa&#34;,用protected void setRetailVariantId() { InventDimCombination comb; InventDim inventDim; ; comb = InventDimCombination::findVariantId(salesLine.RetailVariantId); inventDim = this.axInventDim().inventDim(); if(comb) { if (inventDim.InventSizeId != comb.inventDim().InventSizeId) { this.axInventDim().parmInventSizeId(comb.inventDim().InventSizeId); } if (inventDim.InventColorId != comb.inventDim().InventColorId) { this.axInventDim().parmInventColorId(comb.inventDim().InventColorId); } if (inventDim.InventStyleId != comb.inventDim().InventStyleId) { this.axInventDim().parmInventStyleId(comb.inventDim().InventStyleId); } if (inventDim.configId != comb.inventDim().configId) { this.axInventDim().parmConfigId(comb.inventDim().configId); } } } // </RETAIL> 创建。这就是您放置模型,管理员和视图文件的位置,也是子公司urls.py.因此,您的主要网址现在包含./manage.py startapp wsa