Django笔记 自定义ListView通用视图

资料

https://ccbv.co.uk/projects/Django/1.4/django.views.generic.list/ListView/
http://stackoverflow.com/questions/22902457/django-listview-customising-queryset

自定义get_queryset函数
class Browse(generic.ListView):
    template_name = 'app/browse.html'
    paginate_by = 25

    # Modifying the get_context_data method

    def get_context_data(self, **kwargs):
        context = super(Browse, self).get_context_data(**kwargs)
        q = self.request.GET.get("browse")
        context['input'] = q
        return context

    def get_queryset(self):
        queryset = Cats.objects.all()
        if self.request.GET.get("browse"):
            selection = self.request.GET.get("browse")
            if selection == "Cats":
                queryset = Cats.objects.all()
            elif selection == "Dogs":
                queryset = Dogs.objects.all()
            elif selection == "Worms":
                queryset = Worms.objects.all()
            else:
                queryset = Cats.objects.all()
        return queryset
自定义get和get_context_data函数
    def get(self, request, *args, **kwargs):
        #query_string = request.META.get('QUERY_STRING', '')
        self.user = request.user
        #if self.request.GET.get("Condition"):
        return super(thisview, self).get(request, *args, **kwargs)

    def get_context_data(self, **kwargs):
        context = super(thisview, self).get_context_data(**kwargs)
        context.update({
            'par': self.par,
        })
        return context
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值