2017-11-18 57 views
1

试图使用Django-filter基于类的视图FilterView但我在模板中呈现过滤器时遇到问题。看起来这个过滤器不是在这个领域。基于类的视图 - get函数未被调用

DOCS:https://django-filter.readthedocs.io/en/master/guide/usage.html#generic-view-configuration

编辑:看来,鉴于get(self...)功能永远不会被调用。我在get方法中设置了断点,并没有在那里停止。

编辑2:这真的很奇怪。调试器不会停止,甚至在线:class UserFilterView(...)

filters.py

class UserProfileFilter(django_filters.FilterSet): 
    class Meta: 
     model = UserProfile 
     fields = ['budget','looking_for','user'] 

views.py

class UserFilterView(FilterView): 
    filterset_class = UserProfileFilter 
    template_name = 'frontend/userprofile_filter.html' 

userprofile_filter.html

{% extends "frontend/base.html" %} 
{% block content %} 
    <div class="filter"> 
     {{ filter.form.as_p }} 
    </div> 
    <hr> 
    <div class="results"> 
    </div> 
{% endblock %} 

但在浏览器中,我看到:

... 
<div class="filter"> 

</div> 
... 

urls.py

url('^search/$',views.UserFilterView.as_view(), name="user_filter") 

想不通问题出在哪里。你有什么想法?

+0

你能发布你的整个views.py吗?包括您的导入和获取方法 – Sam

回答

1

这听起来像你有一种问题,因为你的CBV的继承让你失望,因为在其他地方定义了get方法。我们可能需要查看更多代码以及所有内容的确切版本,才能进行调试。

不过,我强烈建议你避开这一切通过写3行查看这里 - https://django-filter.readthedocs.io/en/master/guide/usage.html#the-view

CBVS是伟大采取一个令人难以置信的简单的事情,变成到的东西,需要时间来调试。