comment accéder à django nom de champ dans le modèle
J'ai un modelform que je voudrais parcourir les champs de formulaire dans le modèle, mais en même temps, quand je rencontre certains domaines, conditionnellement de rendu html supplémentaire. Actuellement, je suis en tirant le nom de champ de field.html_name
mais je ne suis pas sûr si c'est la meilleure façon (il se sent hackish en quelque sorte, comme si je devais être l'aide d'un getattr()
filtre ou quelque chose...).
{% for field in form %}
<div class="form-group">
{{ field }}
{% if field.html_name == "location" %}
<!-- CUSTOM HTML HERE -->
{% endif %}
</div>
{% endfor %}
Quel est le code html personnalisé?
Il ajoute une autre div. C'est principalement parce que le champ avec le nom "localisation" est une ForeignKey et la div contient un <un href=> ce qui permet de modifier l'emplacement des objets.
Je ne peux pas trouver exactement la même partie du code à la minute, mais c'est quelque chose que django admin n'est de même pour ajouter un bouton ajouter pour les clés étrangères des objets lors de l'utilisation de l'admin modèle de formes, de sorte qu'il peut être intéressant de regarder dans où ils ne sont que...
Il ajoute une autre div. C'est principalement parce que le champ avec le nom "localisation" est une ForeignKey et la div contient un <un href=> ce qui permet de modifier l'emplacement des objets.
Je ne peux pas trouver exactement la même partie du code à la minute, mais c'est quelque chose que django admin n'est de même pour ajouter un bouton ajouter pour les clés étrangères des objets lors de l'utilisation de l'admin modèle de formes, de sorte qu'il peut être intéressant de regarder dans où ils ne sont que...
OriginalL'auteur cowbert | 2016-08-18
Vous devez vous connecter pour publier un commentaire.
J'ai la même situation, si je ne vous méprenez pas votre moyenne. Ma solution est
field.name
. Échantillon de Code:Je ne vois pas en quoi cela est une amélioration de l'OP
OriginalL'auteur Nguyễn Thái Sơn
Avez-vous envisagé d'utiliser un widget ou de créer votre propre widget personnalisé? https://docs.djangoproject.com/en/1.10/ref/forms/widgets/
E. g.: pour l'ajout d'une classe css ou similaire, de la saisie utilisation de l'option
attrs
argumentOu de créer une widget personnalisé (jetez un oeil à la façon dont Entrée est mis en œuvre)
et ensuite le formulaire peut être rendu dans le modèle simplement par
OriginalL'auteur zsepi
Je ne sais pas comment vous dire, mais vous pouvez essayer ce
Alors que, vous avez défini étiquette forms.py comme
field.html_name
OriginalL'auteur Temi 'Topsy' Bello