otro - llamar javascript desde html
Usar el motor de plantillas Jinja2 en un archivo javascript externo (1)
El index.js probablemente no es atendido por su instancia de frasco, pero definitivamente no es procesado por su motor de plantillas e incluso si no tuviera el mismo contexto que el html solicitado.
Creo que la solución más limpia sería tener una función de iniciación en su index.js
y llamarla desde el archivo html:
<body>
<p>The first arg is {{firstArg}}.</p>
<script type="text/javascript" src="index.js"></script>
<script type="text/javascript">
yourInitFunction({{secondArg}});
</script>
</body>
También podría decirle a @yourapp.route(''index.js'')
el index.js también: @yourapp.route(''index.js'')
tal como lo hizo con la route(''/index'')
sin embargo, probablemente no sea una buena idea.
Estoy trabajando en un proyecto web usando Python y Flask. Me preguntaba si puedo acceder a los parámetros enviados por python en mis archivos javascript externos. Funciona bien con archivos html o con js incrustados en archivos html, pero no cuando javascript es externo.
Vea abajo.
El codigo piton
@app.route(''/index'')
def index():
return render_template(''index.html'', firstArg = 2, secondArg = 3)
El código index.html
...
<body>
<p>The first arg is {{firstArg}}.</p>
<script src="index.js"></script>
</body>
...
Y el archivo index.js
window.onload=function(){
console.log(''{{secondArg}}'');
};
Así que el primer argumento es correcto dentro del archivo html pero el segundo no funciona en el archivo js. El navegador está mostrando Unexpected token {
.
¿Quizás no sea posible usarlo en js externos?
De lo contrario, necesitaría insertar el secondArg como datos de entrada en html y obtenerlo dentro del archivo js, pero no está muy limpio.
Si alguien puede ayudar, gracias.