我正在使用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'),
]
我错过了什么?
答案 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
。