J'ai les modèles de modèles et d'URL suivants. Il existe un modèle de message que je souhaite router vers différentes URL en fonction de la catégorie. Y at-il un moyen de le faire en passant des informations supplémentaires dans app/urls.py
?Django: acheminement du même modèle mais d'un champ de catégorie différent pour séparer les URL
Dans app/posts/models.py
class Post(models.Model):
author = ...
title = ...
body = ...
category = models.CharField()
Dans app/urls.py
urlpatterns = patterns(
'',
(r'^blog/', include('posts.urls'), {'category': 'blog'}),
(r'^school/', include('posts.urls'), {'category': 'school'}),
)
je crois comprendre que l'information supplémentaire à partir app/urls.py
est inclus dans chaque route url dans app/posts/urls.py
. Y a-t-il un moyen d'utiliser cette information? Que puis-je mettre à la place des points d'exclamation ci-dessous?
Dans app/posts/urls.py
from models import Post
queryset = Post.objects.order_by('-pub_date')
urlpatterns = patterns(
'django.views.generic.list_detail',
url(r'^$', 'object_list',
{'queryset': queryset.filter(category=!!!!!!)}
name="postRoot"),
url(r'^(?P<slug>[-\w]+)/$', 'object_detail',
{'queryset': queryset.filter(category=!!!!!!)},
name="postDetail")
)
Merci, Joe
Assez sûr que c'est la réponse. Dans mon expérience, les paramètres capturés par urlpatterns ne peuvent être récupérés qu'à partir d'une fonction de vue. –
Oui, je le pense aussi, mais j'ai pensé que je demanderais. Quoi qu'il en soit, cela a beaucoup aidé grâce à vous. – Joe