Por experiencia, sé que administrar una aplicación en la que genera el código HTML en el servidor y simplemente "inserta" en sus páginas, se convierte en una pesadilla. También es imposible probar usando el marco de prueba de Django. Si está usando Selenium o una herramienta similar, está bien, pero debe esperar a que la solicitud de Ajax regrese, por lo que necesita mucho sueño en su script de prueba, lo que puede ralentizar su suite de pruebas.
Si el propósito de utilizar la técnica de Ajax es crear una buena interfaz de usuario, recomendaría ir all-in, como la interfaz de GMail, y hacer todo lo posible en el navegador con JavaScript. He escrito varias aplicaciones como esta usando nada más que jQuery, máquinas de estados para administrar el estado de IU y JSON con ReST en el back-end. Django, en mi humilde opinión, es una combinación perfecta para el back-end en este caso. Incluso hay software de terceros para generar una interfaz ReST a sus modelos, que nunca he usado, pero que yo sepa que son geniales en lo simple, pero usted por supuesto todavía necesita hacer su propia lógica comercial. .
Con este enfoque, se encuentra con el problema de duplicar el código en el JS y en su back-end, como el manejo de formularios, la validación, etc.He estado pensando en resolver esto con la generación de información estructurada sobre las formas y la lógica de validación que puedo usar en JS. Esto podría compilarse en el momento del despliegue y cargarse como cualquier otro archivo JS.
Además, evite XML. Los navegadores son lentos en analizarlo, es un dolor generar y un dolor para trabajar en el navegador. Use JSON.
¿Qué tiene de especial en Ajax? Desde el punto de vista django, estas son solo solicitudes. – GabiMe
Nada más que me encuentro odiando, por ejemplo, mezclando la representación de la plantilla del contenido utilizando el ciclo de solicitud/respuesta normal y el contenido procedente de las solicitudes ajax. Se siente sucio –