【问题标题】:Django admin filters in custom template自定义模板中的 Django 管理过滤器
【发布时间】:2019-11-15 06:11:31
【问题描述】:

我想在我的自定义模板中实现 django 管理过滤器,如果您有任何机构可以帮助我解决这个问题,我将不胜感激。我收到这个错误...... name 'AddFilter' is not defined...

models.py

from django.db import models

class Product(models.Model):
    name = models.CharField(max_length=255)
    price = models.DecimalField()
    description = models.TextField()
    release_date = models.DateField()

filters.py

import django_filters

class ProductFilter(django_filters.FilterSet):
    name = django_filters.CharFilter(lookup_expr='iexact')

    class Meta:
        model = Product
        fields = ['price', 'release_date']

views.py

def filt_page(request):
    filter = AddFilter(request.GET, queryset=Add.objects.all())
    print (filter)
    return render_to_response('filt_page.html',{'filter':filter})

模板

<form action="" method="get"> {% csrf_token %}
            {{ filter.form.as_p }}
            <input type="submit" />
        </form>

         {% for obj in filter %}
            {{ obj.name }}<br />
        {% endfor %} 

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 添加更多细节......
  • 我尝试了运行良好的日期范围过滤器..但我正在寻找类似于 django 中的管理员的东西。
  • 你的问题被否决不是因为他们不知道答案,而是因为你没有提供足够的信息来说明到目前为止你尝试了什么以及你在哪里失败
  • 感谢 Pardeep 添加评论。

标签: django django-admin-filters


【解决方案1】:

你在你的views.py中调用了一个未定义的类

filters.py 中的类名是“ProductFilter”,但您在 views.py 中调用了“AddFilter”

您的过滤器中的型号名称也未定义,您使用了“添加”而不是“产品”

试试

filter = ProductFilter(request.GET, queryset=Product.objects.all())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-07
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 2014-02-13
    • 2018-07-15
    • 2016-03-01
    相关资源
    最近更新 更多