【问题标题】:Django filter form not displayingDjango过滤器表单不显示
【发布时间】:2020-09-01 18:39:02
【问题描述】:

我正在使用 django 过滤器,但我无法让过滤器表单实际呈现在页面上,只显示提交按钮。如果我检查元素,似乎没有其他任何东西被发送到模板。没有错误信息或任何东西,我不知道从哪里开始,我如何让实际的表格显示,

filter.py

from django.contrib.auth.models import User
import django_filters
from .models import Project


class ProjectFilter(django_filters.FilterSet):

    class Meta:
        model = Project
        fields = ['user', 'title']

views.py:

def search_view(request):
    project_list = Project.objects.all()
    project_filter = ProjectFilter(request.GET, queryset=(project_list)
    return render(request, 'project_portal/filter.html', {'filter': project_filter})

urls.py:

path('search/', search_view, name='search'),

html:

{% load crispy_forms_tags %}
<!DOCTYPE html>
<div>
  <form method="get">
    {{ filter.form.as_p }}
    <input type="submit"/>
  </form>
  {% for user in filter.qs %}
  {{ user.title }}
  {% endfor %}
</div

【问题讨论】:

    标签: django-filter django-3.0


    【解决方案1】:

    我认为你的错误... ==> project_filter = ProjectFilter(request.GET, queryset=(project_list) 一定是 : project_filter = ProjectFilter(request.GET, queryset=project_list)

    【讨论】:

    • 谢谢,我为此苦苦挣扎了一夜,最后为了对自己的工作视而不见,最终删除了整个过程,但我相当确定额外的“(”是一个错字不幸的是,作为 django 发布,我认为会因语法错误而失败。
    猜你喜欢
    • 1970-01-01
    • 2014-10-15
    • 2023-03-16
    • 1970-01-01
    • 2020-05-26
    • 1970-01-01
    • 2018-04-20
    • 2014-02-10
    • 2022-06-10
    相关资源
    最近更新 更多