Tengo un campo de entrada que se representa con una plantilla como esta:
<div class="field">
{{ form.city }}
</div>
Que se representa como:
<div class="field">
<input id="id_city" type="text" name="city" maxlength="100" />
</div>
Ahora suponga que quiero agregar un autocomplete="off"
atributo al elemento de entrada que se representa, ¿cómo lo haría? ¿O onclick="xyz()"
o class="my-special-css-class"
?
Perdón por los anuncios, pero recientemente lancé una aplicación ( https://github.com/kmike/django-widget-tweaks ) que hace que estas tareas sean aún menos dolorosas para que los diseñadores puedan hacerlo sin tocar el código Python:
o alternativamente,
fuente
Si está utilizando "ModelForm":
fuente
Si está utilizando
ModelForm
, además de la posibilidad de usar__init__
como @Artificioo proporcionado en su respuesta, hay unwidgets
diccionario en Meta para el caso:Documentación relevante
fuente
No quería usar una aplicación completa para esto. En su lugar, encontré el siguiente código aquí https://blog.joeymasip.com/how-to-add-attributes-to-form-widgets-in-django-templates/
usa la etiqueta en el archivo html
fuente
Views.py
Nota de código HTML : estoy usando bootstrap4 modal para eliminar la molestia de crear muchas vistas. Tal vez sea mejor usar CreateView o UpdateView genérico. Enlace Bootstrap y jqQery
Código Javascript recuerde cargar esto en
$(document).ready(function() { /* ... */});
función.fuente