modèle personnalisé pour l'application des commentaires de Django ne pas afficher les champs
-
22-09-2019 - |
Question
Je veux utiliser django.contrib.comments
dans une application de blogs et de personnaliser la façon dont le formulaire est affiché. Mon problème est que je ne peux pas les champs pour afficher bien afficher les champs cachés fonctionne très bien. J'ai eu un coup d'œil à la documentation et par rapport à la façon régulière d'afficher des formes, mais honnêtement, je ne sais pas pourquoi cette commande ne fonctionne pas:
{% get_comment_form for comments_object as form %}
<form action="{% comment_form_target %}" method="POST">
[…]
{% for hidden in form.hidden_fields %}
{{ hidden }}
{% endfor %}
{% for field in form.fields %}
{{field}}
{% endfor %}
[…]
</form>
La sortie ressemble à ceci:
<form action="/comments/post/" method="POST">
<input type="hidden" name="content_type" value="flatpages.flatpage" id="id_content_type" />
<input type="hidden" name="object_pk" value="1" id="id_object_pk" />
<input type="hidden" name="timestamp" value="1269522506" id="id_timestamp" />
<input type="hidden" name="security_hash" value="ec4…0fd" id="id_security_hash" />
content_type
object_pk
timestamp
security_hash
name
email
url
comment
honeypot
[…]
</form>
</div>
Pouvez-vous me dire ce que je fais mal? Merci à l'avance
La solution
utilisation {% for field in form.visible_fields %}
form.fields
est un dictionnaire dont les clés sont les noms des champs, et les valeurs sont les objets form.Field()
réels.
Vous pouvez également faire {% for field in form %}
qui devrait inclure les champs cachés et visibles.