在Django 1.7中动态过滤ListView CBV

在Django 1.7中动态过滤ListView CBV,第1张

在Django 1.7中动态过滤ListView CBV

首先,您需要更改urls.py,以便它将体验作为参数传递。像这样:

urlpatterns = pattern('',    url(r'^(?P <exp> [ASG])$',ScholarshipDirectoryView.as_view(),name ='scholarship_directory'),)

(如果未通过/ A或/ S或/ G,则上面的代码将返回404)

现在,在

kwargs
CBV的属性中,我们将有一个名为kwarg的名称
exp
,该
get_queryset
方法可用于根据经验水平进行过滤。

class ScholarshipDirectoryView(ListView):    模式=奖学金    template_name ='scholarship-directory.html'    def get_queryset(self):        qs =超级(ScholarshipDirectoryView,self).get_queryset()        返回qs.filter(experience_level__exact = self.kwargs ['exp'])


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5631886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存