改变django过滤器形式的宽度

Changing width of django filter form

我的filters.py文件

import django_filters
from django_filters import CharFilter 
from .models import *
from django.forms.widgets import TextInput, Textarea
from django.forms import widgets

class ProductFilter(django_filters.FilterSet):
    name=CharFilter(field_name='name', lookup_expr='icontains', label="", widget=TextInput(attrs={'placeholder': 'Search Here'}))
    class Meta:
        model=Product
        fields='__all__'
        exclude=['name', 'price', 'digital', 'image', 'description']

如何将过滤器表单的宽度更改为我们在 Whosebug 中的搜索栏的大小?

演示它的代码片段会很有帮助。

您可以给小部件一个 class 并将 class 设置为说 width: 100%; 或您想要的任何内容。

import django_filters
from django_filters import CharFilter 
from .models import *
from django.forms.widgets import TextInput, Textarea
from django.forms import widgets

class ProductFilter(django_filters.FilterSet):
    search=CharFilter(lookup_expr='icontains', label="", widget=TextInput(attrs={'placeholder': 'Search Here', 'class': 'full-width'}))
    class Meta:
        model=Product
        fields='__all__'
        exclude=['name', 'price', 'digital', 'image', 'description']

此代码有效。

from django import forms

class ProductFilter(django_filters.FilterSet):
    name=CharFilter(field_name='name', lookup_expr='icontains', label="", widget=TextInput(attrs=
        {   'placeholder': 'Search for products, brands and more', 
            'class': 'form-control',
            'size': 100,
        }
    ))