0

我无法将我的 Django 视图与我的 Django 模板连接起来。我正在尝试将基于类的视图与 FormMixin 和 ListView 一起使用。

class Merchants(FormMixin, ListView):
    """
    A view of that shows a list of all the merchants.
    """
    template_name = "reporting/merchants.html"
    model = models.Merchant
    context_object_name = "merchants"

    def get_queryset(self):
        queryset = super(ViewClassName, self).get_queryset()
        search_query = self.request.GET.get("q", None)
        if search_query:
            queryset = queryset.filter(name__ilike=search_query)
            return queryset

我的目标是在我的模板中使用我的 get_queryset 函数来允许用户搜索商家。此表单正在发布给自己,但不幸的是它没有返回任何内容。我已经阅读了有关 FormMixins 的 Django 文档,但仍然无法弄清楚。任何帮助将不胜感激。

<form action= "">
<input name="q" placeholder="search for merchant">
<button type="submit">Search </button>
</form> 

谢谢!

4

1 回答 1

0

你有一个缩进问题:

if search_query:
    queryset = queryset.filter(name__ilike=search_query)
    return queryset # <--- this should be outside of if statement

应该:

if search_query:
    queryset = queryset.filter(name__ilike=search_query)
return queryset
于 2013-10-14T15:54:01.643 回答