Django类模型访问

2024-04-20 11:43:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用一个django包来检查浏览器是否是移动的。我想把它应用到paginate_by,这样在移动设备上使用self.request.mobile的库就少了。以下是课程:

class GalleryList(ListView):
    model = Gallery
    paginate_by = 20
    context_object_name = 'galleries'
    category = None

    def get_queryset(self):
        if self.request.mobile:
            self.template_name = 'mobile/gallery.html'
        qs = Gallery.objects.filter(visible=True,).order_by('-created','-hot')
        return qs

Tags: djangonameselfbymodelrequest浏览器mobile
1条回答
网友
1楼 · 发布于 2024-04-20 11:43:25

您可以重写get_template_names的方法ListView,如下所示:

def get_template_names(self):
    if self.request.mobile:
        return 'mobile/gallery.html'
    return 'normal/gallery.html'

编辑:

对于分页方式,您可以尝试以下操作:

def get_paginate_by(self, queryset):
    if self.request.mobile:
        return 5
    return 20

相关问题 更多 >