Je me demande comment créer au mieux des pages HTML dans Django qui peuvent être utilisées pour afficher ou éditer des données. C'est-à-dire que j'aimerais que les valeurs du champ apparaissent sous forme de texte en mode affichage, mais dans leurs widgets en mode édition/ajout. Il semble que Django n'ait pas été conçu pour cela: les champs apparaissent toujours dans leurs widgets (par exemple, saisie de texte, zone de texte, etc.).Utiliser les formulaires Django pour afficher et éditer?
Existe-t-il une technique courante pour gérer cela, à moins d'utiliser des formulaires pour l'un et pas pour l'autre?
Je pensais à un filtre templatetag personnalisé qui pourrait être utilisé pour chaque champ de formulaire, comme:
{{form.field_name | render_field: Mode}}
où render_field serait soit revenir HTML du champ widget, ou juste la valeur en tant que texte, basé sur le mode.
Ai-je manqué quelque chose, ou est-ce une solution viable?
Oui, je peux utiliser le modèle, mais cela ne profite pas de quoi que ce soit que les formes peuvent faire. Qu'est-ce qu'un filtre doit faire avec cela? J'ai beaucoup d'affichages/éditer des vues, donc un bon choix pourrait nous éviter d'avoir à faire chacun deux fois (une fois pour l'affichage, une fois pour l'édition). –