使用url模式直接从ListView中的函数恢复变量

2024-10-03 04:36:06 发布

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

我有一个列表视图

class PackageDashboardView(ListView):
      model = Package
      template_name = "packages/dashboard.html"

      def get_queryset(self):
         sort = self.kwargs.get("sort", None)
         default_order_by = "title"
      if sort == 'date':
            default_order_by = "-started"
     queryset = Package.objects.all().
          order_by(default_order_by, 
         'version__name', 
         'seasons').select_related('title', 
         'version').defer('title__metadata', 
         'validation', 'translations', 
         'diff_fields')
    return queryset

网址.py

url(r'^packages/sort:(?P<sort>\w+)$', packages.PackageDashboardView.as_view(), name="package_dashboard"),

模板.html

<a href="/packages/sort:date"><div class="controller type">by Date</div></a>
<a href="/packages/sort:title"><div class="controller type">by Title</div></a>

我想在函数get\u queryset中直接传递变量sort,而不传递self.kwargs.get(“sort”,None)


Tags: nameselfdivdefaultpackagegetbytitle