Estoy tratando de actualizar mi elemento html con django if declaración:
element.innerHTML= `{% if person.name == ${value} %} something {% endif %}`pero recibo un error:
TemplateSyntaxError at / Could not parse the remainder: '${value}' from '${value}'También probé:
`{% if person.name == ${value} %} something {% endif %}`Pero la declaración no funciona correctamente. ¿Hay algo que pueda hacer para combinar javascript con las variables de Django?
Respuesta corta
No. No puedes hacer esto, al menos no tan fácilmente.
Respuesta detallada (ligeramente)
Django reemplaza todas las etiquetas, {{ }} y {% %} con el resultado en el extremo del servidor (back-end) cuando se procesa la página, antes de que llegue al cliente. Su variable JavaScript (¿JQuery?) es evaluada por el cliente (el front-end). Django no sabrá qué es ${value} . Entonces, no, no puede usar una variable de JavaScript en el código de plantilla de Django.
Esto no quiere decir que no puedas lograr lo que quieres, sino que debe hacerse de la siguiente manera. Su código JavaScript puede obtener el valor de person.name desde una vista y luego puede hacer su declaración if en el archivo JavaScript después de recibir la respuesta de la búsqueda. La vista podría devolver el valor de person.name como JsonResponse