Django filter form not displaying

1.2k Views Asked by At

I'm using django filters but I can't get the filter form to actually render on the page, only the submit button is showing. If I inspect the element, nothing else seems to be being sent to the template. THere is no error message or anything, I don't know where to go from here, how do I get the actual form to show,

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
1

There are 1 best solutions below

1
On

i think your error ... ==> project_filter = ProjectFilter(request.GET, queryset=(project_list) must be : project_filter = ProjectFilter(request.GET, queryset=project_list)