gpt4 book ai didi

django-urls - 在通用 View 中将捕获的命名正则表达式传递给 URL 字典

转载 作者:行者123 更新时间:2023-12-02 02:33:44 25 4
gpt4 key购买 nike

我正在使用 Django 中的通用 View 。我想捕获 URL 中的命名组参数并将值传递给 URL 模式字典。例如,在下面的 URLConf 中,我想捕获 URL 中的 parent_slug 值并将其传递给查询集字典值,如下所示:

urlpatterns = patterns('django.views.generic.list_detail',
(r'^(?P<parent_slug>[-\w]+)$',
'object_list',
{'queryset':Promotion.objects.filter(category=parent_slug)},
'promo_promotion_list',
),
)

这是否可以在一个 URLConf 条目中完成,或者如果我创建一个自定义 View 来捕获值并将查询集从我的覆盖 View 直接传递到通用 View 会更明智吗?

最佳答案

我正在 urls.py 中做一些重定向,如下所示,也许这对你也有用?

from django.views.generic.base import RedirectView
urlpatterns = patterns('',
(r'^manual/glossary/(?P<slug>[^/]+)/$',
RedirectView.as_view(url='/glossary/%(slug)s/')),
)

但是,这似乎并不是所有基于类的通用 View 都支持的:

from django.views.generic.list import ListView
urlpatterns = patterns('',
(r'^tag/(?P<tag>\d+)/$',
ListView.as_view(
queryset=Blog.Post.objects.filter(tags='%(tag)d'),
paginate_by=5)),
)

第二个代码片段不起作用,因此您必须按照您的建议修补通用 ListView 或通过自定义 View 传递。

关于django-urls - 在通用 View 中将捕获的命名正则表达式传递给 URL 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2688077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com