J'ai une application appelée "produits" qui gère "produits" et "catégories". Et j'ai des produits/views.py (avec vues génériques) qui va comme ceci:fusionner 2 django (très similaire) urlconfs en un
Objects = {
'products': {'model':Product, 'form':ProductForm}
'categories': {'model':Category, 'form':CategoryForm}
}
et quelque chose comme ceci:
def list(request, obj):
model = Objects[obj]['model']
queryset = model.objects.all()
return object_list(request, queryset=queryset)
puis est quelque chose comme mon projet urls.py ceci:
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'}),
)
puis j'ai les deux urls.py pour la catégorie et produit comme celui-ci:
1) produits/pro duct_urls.py
urlpatterns = patterns('',
url(r'^$', 'products.views', name='products-list'),
)
2) et une très similaire ligne dans les produits/category_urls.py
urlpatterns = patterns('',
url(r'^$', 'products.views', name='categories-list'),
)
Comme vous pouvez le voir, les produits/product_urls.py et produits/category_urls.py sont vraiment très similaires sauf pour les noms d'URL. Ma question est: existe-t-il une technique intelligente pour "fusionner" les produits/product_urls.py et products/category_urls.py dans un seul module et ont toujours des noms différents pour les urls en fonction de l '"objet" qu'ils travaillent sur. c'est-à-dire avoir un seul produit/urls.py qui gère les deux objets: produit et catégorie