首页 > 解决方案 > 如何为 django-filter 生成的元素设置 CSS 类?

问题描述

我正在使用 django-filter(用于 django 元素过滤的小库)。我想知道如何向生成的 HTML 元素添加一些 CSS 类。这是filters.py的代码。谢谢来自亚美尼亚的好人:)

class Filter(django_filters.FilterSet):
    CHOICES = (
        ('ascending', 'По дате (А-Я)'),
        ('descending', 'По дате (Я-А)'),
    )
    CHOICES2 = (
        ('price_low', 'По цене по возрастанию'),
        ('price_high', 'По цене по убыванию'),
    )

orderDate = django_filters.ChoiceFilter(choices=CHOICES, method='filter_by_date', label='')
orderPrice = django_filters.ChoiceFilter(choices=CHOICES2, method='filter_by_price', label='')
category = django_filters.ModelChoiceFilter(field_name='category', queryset=Category.objects.all())

class Meta:
    model = Product
    fields = {
        'price': ['gt', 'lt'],
        'category': [],
    }

def filter_by_date(self, queryset, name, value):
    expr = 'date' if value == 'ascending' else '-date'
    return queryset.order_by(expr)

def filter_by_price(self, queryset, name, value):
    expr = 'price' if value == 'price_low' else '-price'
    return queryset.order_by(expr)

标签: djangodjango-filter

解决方案


推荐阅读