Django:向filter.fields添加属性

Jek*_*son 1 django django-forms django-filter

如何使用 django-filters 将占位符和自定义 css 类属性添加到带有过滤器的表单中。

过滤器.py

class PlaceFilter(django_filters.FilterSet):
    name = django_filters.CharFilter(lookup_expr='icontains')
    class Meta:
        model = Places
        fields = ['name'] 
Run Code Online (Sandbox Code Playgroud)

html

<form method="GET"> 
    {{ filter.form.name }}
    <label for="name"></label>              
</form>
Run Code Online (Sandbox Code Playgroud)

Jek*_*son 5

我找到了解决方案

class PlaceFilter(django_filters.FilterSet):
    name = django_filters.CharFilter(lookup_expr='icontains', widget=forms.TextInput(attrs={
            'placeholder': 'Search place', 'class': 'input__search'}))
    class Meta:
        model = Places
        fields = ['name']
Run Code Online (Sandbox Code Playgroud)