我有一個名爲「產品」,管理「產品」和「類別」的應用程序。我有一個是這樣的產品/ views.py(與通用視圖):合併2 Django(非常相似)urlconfs在一個
Objects = {
'products': {'model':Product, 'form':ProductForm}
'categories': {'model':Category, 'form':CategoryForm}
}
和這樣的事情:
def list(request, obj):
model = Objects[obj]['model']
queryset = model.objects.all()
return object_list(request, queryset=queryset)
,然後我的項目urls.py是這樣的:
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^products/', include('products.product_urls.py'), {obj:'product'}),
(r'^categories/', include('products.category_urls.py'), {obj:'category'}),
)
,然後我有兩個urls.py類別和產品就像這樣:
1)產品/ PRO duct_urls.py
urlpatterns = patterns('',
url(r'^$', 'products.views', name='products-list'),
)
2),並在產品非常類似的線/ category_urls.py
urlpatterns = patterns('',
url(r'^$', 'products.views', name='categories-list'),
)
正如你可以看到,產品/ product_urls.py和產品/ category_urls.py真的很相似除了網址名稱。
我的問題是:是否有一種巧妙的技術可以將products/product_urls.py和products/category_urls.py合併到一個模塊中,並且根據他們正在工作的「對象」對url還是有不同的名稱上。即有一個產品/ urls.py將管理兩個對象:產品和類別