首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向django-filters字段添加自定义css类

如何向django-filters字段添加自定义css类
EN

Stack Overflow用户
提问于 2018-08-02 02:04:07
回答 5查看 3.1K关注 0票数 3

我试图创建一种适用于表单的方法,但这里的类不适用

代码语言:javascript
复制
class TrainerFilter(django_filters.FilterSet):
    price_lt = django_filters.NumberFilter(field_name="prise", lookup_expr='lt')
    class Meta:
        model = Profile
        fields = ['direction', 'group', 'child', 'price_lt']
        widgets = {
            'direction': SelectMultiple(attrs={'class': 'custom-select'}),     
        }
EN

回答 5

Stack Overflow用户

发布于 2019-08-23 20:51:56

如果有人偶然发现了这一点,一种解决方案可能是将类添加到字段的小部件属性中,如下所示:

代码语言:javascript
复制
    class TrainerFilter(django_filters.FilterSet):

        ...

        def __init__(self, data=None, queryset=None, *, request=None, prefix=None):
            super(TrainerFilter, self).__init__(data=data, queryset=queryset, request=request, prefix=prefix)
            self.filters['direction'].field.widget.attrs.update({'class': 'custom-select'})
票数 3
EN

Stack Overflow用户

发布于 2020-04-21 07:13:01

你们已经很接近了。这应该是可行的:

代码语言:javascript
复制
class TrainerFilter(django_filters.FilterSet):
    price_lt = django_filters.NumberFilter(field_name="prise", lookup_expr='lt')
    direction = django_filters.CharFilter(widgets = SelectMultiple(attrs={'class': 'custom-select'}))
    class Meta:
        model = Profile
        fields = ['group', 'child', 'price_lt']
票数 2
EN

Stack Overflow用户

发布于 2020-07-27 05:53:40

代码语言:javascript
复制
class UsersFilter(django_filters.FilterSet):
class Meta:
    model = UsersModels
    fields = ['username', 'email', 'first_name', 'phone']
    filter_overrides = {
        models.CharField: {
            'filter_class': django_filters.CharFilter,
            'extra': lambda f: {
                'lookup_expr': 'icontains',
                'widget': forms.TextInput(attrs={'class': 'form-control'})
            },
        },
        models.EmailField: {
            'filter_class': django_filters.CharFilter,
            'extra': lambda f: {
                'lookup_expr': 'icontains',
                'widget': forms.EmailInput(attrs={'class': 'form-control'})
            },
        },

    }

像这样

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51639648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档