Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django管理过滤器,在模板中添加两个字段_Django_Django Admin - Fatal编程技术网

Django管理过滤器,在模板中添加两个字段

Django管理过滤器,在模板中添加两个字段,django,django-admin,Django,Django Admin,我想创建一个过滤器来获取一些值范围。在那里,我想在参数\u name中获得2个数字,我为其添加了2个数字字段。像贝娄的形象 若我只使用一个字段,那个么可以得到该字段的值。asvalue=self.value() 但我需要这两个值,所以添加了另一个字段,然后可以得到它们的非值self.value()始终为非。 现在我不知道如何将该值传递给过滤器。谁能告诉我正确的路径。这可能不是确切的答案。但使用此功能,您可能能够满足要求。 ※如果有多个输入字段,Django过滤器将无法正常工作。因此,每个过

我想创建一个过滤器来获取一些值范围。在那里,我想在
参数\u name
中获得2个数字,我为其添加了2个数字字段。像贝娄的形象

若我只使用一个字段,那个么可以得到该字段的值。as
value=self.value()


但我需要这两个值,所以添加了另一个字段,然后可以得到它们的非值
self.value()
始终为非。
现在我不知道如何将该值传递给过滤器。谁能告诉我正确的路径。

这可能不是确切的答案。但使用此功能,您可能能够满足要求。
※如果有多个输入字段,Django过滤器将无法正常工作。因此,每个过滤器必须使用一个输入字段。
(使用Jquery滑块选择范围,而不是使用两个输入字段)

Python类

class IsWithinRangeFilter(admin.SimpleListFilter):

title = 'Title'
parameter_name = 'scoreRange'
template = '[path]/input_filter.html'

def lookups(self, request, model_admin):
    return (
        ('Yes', 'Yes'),
    )

def queryset(self, request, queryset):

    value = self.value()
    try:
        if value:

            #do whatever

    except Exception as e:
        logger.info('#####ERROR{}' .format(e))

    return queryset
调用过滤器类

list_filter = (IsWithinRangeFilter,)
input_filter.html

{%loadi18n%}
var lowerRange=5;
var上限=8;
$(函数(){
$(“#滑块范围”)。滑块({
范围:对,
分:0,,
最高:10,
值:[下限,上限],
幻灯片:功能(事件、用户界面){
if(ui.values[0]==ui.values[1])
{
返回false;
}
$(“#scoreRange”).val(ui.values[0]/10+“-”+ui.values[1]/10);
}
});
$(“#分数范围”).val($(“#滑块范围”).slider(“值”,0)/10+
“-”+$(“#滑块范围”)。滑块(“值”,1)/10);
} );
{%block content%}
{%Any Title%}
  • 任何描述 过滤器:


{%endblock%}
这是个好问题,但恐怕这不是一项容易的任务。这是因为过滤器并没有按照Django所希望的方式“固定”。因此,由于筛选值是由用户定义的(即使您有一个输入字段),因此您必须使用
jQuery
来发送此
GET
请求并适当地处理它。
list_filter = (IsWithinRangeFilter,)