Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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
Python Django筛选器如何更改占位符以替换[无效名称]?_Python_Django_Django Filters - Fatal编程技术网

Python Django筛选器如何更改占位符以替换[无效名称]?

Python Django筛选器如何更改占位符以替换[无效名称]?,python,django,django-filters,Python,Django,Django Filters,我创建了一个过滤器以在多个字段中搜索(我必须只有一个搜索字段),如下所示: 类myFilter(django_filters.FilterSet): full\u search=django\u filters.CharFilter(name='full\u search',method='search'by\u full\u search') 但在html中,占位符显示了我的诡计 <input type="text" name="full_search" class="form-cont

我创建了一个过滤器以在多个字段中搜索(我必须只有一个搜索字段),如下所示:

类myFilter(django_filters.FilterSet): full\u search=django\u filters.CharFilter(name='full\u search',method='search'by\u full\u search')

但在html中,占位符显示了我的诡计

<input type="text" name="full_search" class="form-control" placeholder="[invalid name]" title="" id="id_full_search">


是否可以通过其他方式进行更改?

最后,我使用JQuery实现了这一点:

$('#id_full_search').attr("placeholder", "Recherche")

我知道这是一段时间前提出的问题,但刚刚解决了一个项目中的类似问题,所以在这里发布它以帮助其他人解决这个问题

full_search = django_filters.CharFilter(method='search_by_full_search', label='Recherche') # change label field to reflect what the filter name should be

class Meta:
   model = myModel
   fields = ['full_search', ]

def search_by_full_search(self, qs, name, value):
    for term in value.split():
      qs = qs.filter(Q(serial__icontains=term) | Q(id__icontains=term) | 
      Q(name__icontains=term))
    return qs

full_search = django_filters.CharFilter(method='search_by_full_search', label='Recherche') # change label field to reflect what the filter name should be

class Meta:
   model = myModel
   fields = ['full_search', ]

def search_by_full_search(self, qs, name, value):
    for term in value.split():
      qs = qs.filter(Q(serial__icontains=term) | Q(id__icontains=term) | 
      Q(name__icontains=term))
    return qs