1
我有以下模型和网址路线。我希望根据类别路由到不同的URL以创建一个Post模型。有没有办法通过在app/urls.py
中传递额外的信息来做到这一点?Django:路由相同的模型,但不同的类别字段分开的URL
在app/posts/models.py
class Post(models.Model):
author = ...
title = ...
body = ...
category = models.CharField()
在app/urls.py
urlpatterns = patterns(
'',
(r'^blog/', include('posts.urls'), {'category': 'blog'}),
(r'^school/', include('posts.urls'), {'category': 'school'}),
)
我的理解是,从app/urls.py
额外的信息包含在app/posts/urls.py
每个URL路径。有没有办法使用这些信息?我可以用什么来代替下面的感叹号?
在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")
)
谢谢,乔
很确定这是答案。根据我的经验,只能从视图函数中检索由urlpatterns捕获的参数。 – 2010-09-20 19:06:44
是的,我也这么认为,但我想问问。无论如何,它非常感谢你。 – Joe 2010-09-22 20:15:33