基于类的视图 - get函数未被调用
问题描述:
试图使用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")
想不通问题出在哪里。你有什么想法?
答
这听起来像你有一种问题,因为你的CBV的继承让你失望,因为在其他地方定义了get
方法。我们可能需要查看更多代码以及所有内容的确切版本,才能进行调试。
不过,我强烈建议你避开这一切通过写3行查看这里 - https://django-filter.readthedocs.io/en/master/guide/usage.html#the-view
CBVS是伟大采取一个令人难以置信的简单的事情,变成到的东西,需要时间来调试。
你能发布你的整个views.py吗?包括您的导入和获取方法 – Sam