Использовать метку поля в качестве заполнителя с django-widget-tweaks

Я использую django-widget-tweaks и не могу понять, как добавить переменную поля в качестве заполнителя, как показано ниже:

<div class="col-sm-10">
 {{ field|append_attr:"class:form-control"|append_attr:"placeholder:field.label" }}
 {% if field.help_text %}
   <p class="help-block"><small>{{ field.help_text }}</small></p>
 {% endif %}
</div>

field.label выше не оценивает и ставит строку "field.label" в качестве заполнителя на странице.

Некоторые сообщения SO предлагают зарегистрировать пользовательский тег / фильтр, который кажется сложным для чего-то такого простого.

1 ответ

Решение

Я сейчас пользуюсь render_field визуализировать поле вместо использования шаблонных фильтров, и это, кажется, работает.

<div class="col-sm-10">
  {% render_field field class="form-control" placeholder=field.label %}
  {% if field.help_text %}
     <p class="help-block"><small>{{ field.help_text }}</small></p>
  {% endif %}
</div>

Кажется, переменные формы не могут использоваться внутри шаблонных фильтров и могут использоваться только с render_field (хотя в документации django-widget-tweaks это не сказано явно).

Другие вопросы по тегам