Use field label as placeholder with django-widget-tweaks

亡梦爱人 提交于 2019-12-22 10:30:12

问题


I am using django-widget-tweaks and unable to figure out how to add a field variable as placeholder, like the following:

<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 above does not evaluate and puts the string "field.label" as the placeholder on the page.

Some SO posts suggest registering a custom tag/filter which seems complicated for something this simple.


回答1:


I am now using render_field to render the field instead of using template filters and it seems to work.

<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>

It seems form variables cannot be used within template filters and can only be used with render_field (though the django-widget-tweaks documentation doesnt say that explicitly).



来源:https://stackoverflow.com/questions/42111220/use-field-label-as-placeholder-with-django-widget-tweaks

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!