Intenté acceder a la variable de la plantilla de django en la página html javascript en línea, funciona bien. Pero si incluyo js usando <script src="..>
, entonces no funciona. ¿Esta limitación o estoy haciendo algo mal? Realmente aprecio tu ayuda.Accediendo a la plantilla de Django {{Variable}} de JavaScript
Respuesta
El procesador de plantillas Django no procesa el Javascript incluido en el servidor, por lo que no funcionará. Si necesita pasar información a través de la plantilla a los archivos Javascript incluidos, haga que su plantilla cree un pequeño bloque <script>
en el que se declare que alguna variable global contiene esas variables de plantilla. Entonces, su archivo JavaScript puro puede obtener los valores buscando el objeto global creado por ese <script>
desde la plantilla.
La respuesta de Pointy es correcta. A menudo me encuentro este filtro útil para esa situación:
@register.filter(name='json')
def _json(obj):
#remember to make sure the contents are actually safe before you use this filter!
return safestring.mark_safe(json.dumps(obj))
entonces en una etiqueta <script>
que sólo puede hacer algo como esto:
window.g_details = {{ details|json }};
Usaré esto una vez que implemente JSON en mi código js. Gracias – Cool
@JasonPrado: ¿Por qué debería uno hacer esto? – Medorator
Esta respuesta tiene 4 años, así que apuesto a que django tiene una mejor solución por ahora. Pero mi idea aquí fue que es bueno poder convertir un diccionario de Python en un diccionario JSON de forma segura y fácil. –
- 1. Frasco - Accediendo a la variable de configuración en la plantilla
- 2. Variables de plantilla Django y Javascript
- 3. plantillas de jquery, accediendo a la variable primaria desde la plantilla secundaria
- 4. Django: accediendo a las variables de sesión desde dentro de una plantilla?
- 5. Accediendo a una variable por referencia en Javascript
- 6. ¿Accediendo a matrices paralelas en las plantillas de Django?
- 7. ¿Cómo uso la plantilla de Django para extender la variable?
- 8. accediendo a una variable de otra clase
- 9. ¿Accediendo a un dict por variable en las plantillas de Django?
- 10. Accediendo a la sesión desde la plantilla TWIG
- 11. El valor de variable de la plantilla de Django a la comparación literal de cadena falla
- 12. Accediendo a la variable de entorno AppKernel en Symfony 2
- 13. Accediendo al elemento anterior de la matriz en la plantilla django para el ciclo
- 14. plantilla de Django - Incrementar el valor de una variable
- 15. ¿Actualizar la variable de sesión de Django en javascript?
- 16. Pasar el nombre de URL variable a la etiqueta url en la plantilla django
- 17. jquery/javascript - accediendo a variables desde fuera de una función
- 18. Uso de JSON en la plantilla django
- 19. Django: Asignación de variables en la plantilla
- 20. Accediendo a los datos de SVG a través de JavaScript
- 21. Accediendo a una función de ActionScript a través de Javascript
- 22. Mi plantilla de Django variable booleana no está funcionando como se esperaba en javascript
- 23. Django: ¿accediendo a la instancia del modelo desde ModelAdmin?
- 24. petición Django en la plantilla
- 25. Plantilla de Django que compara la cadena
- 26. Plantilla de renderizado a variable en expressjs
- 27. pasando cadenas unicode de django a javascript
- 28. Accediendo a una variable usando una cadena que contiene el nombre de la variable
- 29. Accediendo a elementos por tipo en javascript
- 30. /plantilla de datos en base a la variable miembro de
Esto funcionó gr8 ... gracias! – Cool