У меня есть поле ввода, которое отображается с помощью такого шаблона:
<div class="field">
{{ form.city }}
</div>
Это отображается как:
<div class="field">
<input id="id_city" type="text" name="city" maxlength="100" />
</div>
Теперь предположим, что я хочу добавить autocomplete="off"
атрибут к визуализируемому элементу ввода. Как мне это сделать? Или onclick="xyz()"
или class="my-special-css-class"
?
django
django-templates
django-forms
django-widget
html
Пользователь
источник
источник
Извините за рекламу, но я недавно выпустил приложение ( https://github.com/kmike/django-widget-tweaks ), которое делает такие задачи еще менее болезненными, поэтому дизайнеры могут делать это, не касаясь кода Python:
или, альтернативно,
источник
Если вы используете "ModelForm":
источник
Если вы используете
ModelForm
, помимо возможности использования в__init__
качестве @Artificioo, предоставленной в его ответе,widgets
на этот счет есть словарь в Meta:Соответствующая документация
источник
Я не хотел использовать для этого все приложение. Вместо этого я нашел здесь следующий код https://blog.joeymasip.com/how-to-add-attributes-to-form-widgets-in-django-templates/
используйте тег в html файле
источник
Я потратил довольно много дней, пытаясь создать повторно используемые шаблоны форм для создания и обновления моделей в формах Django. Обратите внимание, что я использую ModelForm для изменения или создания объекта. Я также использую бутстрап для стилизации моих форм. В прошлом я использовал django_form_tweaks для некоторых форм, но мне потребовалась некоторая настройка без большой зависимости от шаблонов. Поскольку в моем проекте уже есть jQuery, я решил использовать его свойства для стилизации моих форм. Вот код, и он может работать с любой формой.
Views.py
Примечание по HTML-коду : я использую модальное окно bootstrap4, чтобы избавиться от хлопот по созданию множества представлений. Возможно, лучше использовать общий CreateView или UpdateView. Свяжите Bootstrap и jqQery
Код Javascript не забудьте загрузить это в
$(document).ready(function() { /* ... */});
функцию.источник