Estoy luchando con la mejor manera de crear páginas HTML en Django que se pueden usar para mostrar o editar datos. Es decir, me gustaría que los valores del campo aparezcan como texto en el modo de visualización, pero en sus widgets cuando esté en el modo de edición/agregar. Parece que Django no fue diseñado para hacer esto: los campos siempre aparecen en sus widgets (por ejemplo, entrada de texto, área de texto, , etc.).Uso de formularios de Django para mostrar y editar?
¿Existe una técnica común para manejar esto, salvo el uso de formularios para uno, y no para el otro?
Estaba pensando en un filtro templatetag a medida que se podría utilizar para cada campo de formulario, como:
{{form.field_name | render_field: Modo}}
donde render_field sería bien volver HTML del campo widget, o solo el valor como texto, basado en el modo.
¿Me he perdido algo o es una solución viable?
Sí, sólo puede utilizar el modelo, pero eso no toma ventaja de todo lo que pueden hacer formas. ¿Qué tendría que ver un filtro con esto? Tengo muchas vistas de visualización/edición, por lo que una buena elección podría evitar que tengamos que hacer cada una dos veces (una para mostrar, una para editar). –