@Lone_Wanderer

Как изменить вид фильтров в шаблоне в django-filer?

Всем здравствуйте.Кто шарит за django-filter объясните плиз, как изменить шаблон.
Это мой модели
class Citys(models.Model):
    City = models.CharField('Населёный пункт', max_length=200, db_index=True)
    def __str__(self):
        return self.City
class Flats(models.Model):
    Citys = models.ForeignKey(Citys, on_delete = models.CASCADE)
    Flat = models.CharField('Ктанегория', max_length=200, db_index=True)
    Method = models.CharField('Способ приобретения', max_length=200, db_index=True)
    Price = models.DecimalField('Цена', max_digits = 9,  decimal_places= 2)
    def __str__(self):
            return self.Flat

Это мой код в шаблоне
<form action="" method="get">
  {{ filter.form.as_p }}
  <input type="submit" />
</form>

Это мой код фильтра
class FlatsFilter(django_filters.FilterSet):
    class Meta:
        model = Flats
        fields = {
                  'Flat': ['exact'], 
                  'Method': ['exact'],
                  'Citys': ['exact'],
                  'Price': ['range'],
                  }

1 Как сделать строки куда вписывать данные сделать шири и в них сделать какую-нибудь надпись
2 Как пометь надписи или же удалить их(надписи это: "Ктанегория", "Способ приобретения: ", "Citys"...)
JimQ8.png
3 Как сделать такой диапазон цен
W10Pr.png
  • Вопрос задан
  • 417 просмотров
Решения вопроса 1
0) Пж, задавайте вопросы грамотно, без ошибок, и чётко. И задавай только 1 вопрос в 1 публикации.
1) Измени модель на TextField или просто измени виджет.
. И что тебе мешает изменить их с помощью CSS, JS, JQ. Если очень хочешь то можешь вообще скопировать результат {{ filter.form.as_p }} с кода элемента, и заменить его на свой базируясь с скопированного( однако лучше так не делать без необходимости ).
2) Если ты про <label> около <input/> то попробуй задать их значение так:
class FlatsFilter(django_filters.FilterSet):
    class Meta:
        model = Flats
        fields = {
                  'Flat': ['exact'], 
                  'Method': ['exact'],
                  'Citys': ['exact'],
                  'Price': ['range'],
                  }
        label = {
            'Flat' : 'Надпись'
           #......
        }

Если не поможет то просто удали или измени <label></label> через CSS или JS(JQ).
3) CSS и JS могут творить чудеса! Почему же ты не используешь их для этой цели. Если возникнут вопросы при выполнении этого шага, то задай отдельный вопрос, только с тегом CSS и JS. ( а вообще, если ты хочешь быть Full Stack разработчиком то подучи Front end ) Если ты хочешь быть back end разработчиком то зачем тебе эти цели? Это не твоя задача!
И прочитай документацию по FilterSet
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы