未调用基于类的视图get函数

2024-06-06 19:42:09 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试使用Django-filter基于类的视图FilterView,但在模板中呈现过滤器时遇到问题。过滤器似乎不在contex中。你知道吗

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

编辑:似乎从未调用视图的get(self...)函数。我在get方法中设置了断点,但它并没有停止。你知道吗

编辑2:真的很奇怪。调试器甚至在以下行上也不停止:class UserFilterView(...)

过滤器.py

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

视图.py

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

用户配置文件_筛选器.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>
...

网址.py

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

不知道哪里出了问题。你有什么想法吗?你知道吗


Tags: djangopydivview视图编辑过滤器get
1条回答
网友
1楼 · 发布于 2024-06-06 19:42:09

听起来您的CBV的继承有某种问题,这让您感到困惑,因为在别处定义了get方法。我们可能需要看到更多的代码,加上所有东西的精确版本,以进行调试。你知道吗

但是,我强烈建议您在这里编写3行视图-https://django-filter.readthedocs.io/en/master/guide/usage.html#the-view,从而避开所有这些问题

cbv非常适合于把一件非常简单的事情变成需要几个小时才能调试的事情。你知道吗

相关问题 更多 >