您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Django 1.7中动态过滤ListView CBV

在Django 1.7中动态过滤ListView CBV

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

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

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

现在,在 kwargsCBV的属性中,我们将有一个名为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'])
Go 2022/1/1 18:47:35 有310人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶