Tengo un proyecto de matraz y tengo una carpeta de templates folder y una root folder que contiene mis archivos.
La estructura se ve así:
flask_py_Javascript_sandbox/ templates/ form.html venv/ app.py formjs.jsMi form.html se ve así:
<!DOCTYPE html> <html> <body> // Test form <script src="../formjs.js"></script> // I have also tried "formjs.js", "/formjs.js" <script> myFunc(); </script>Mi archivo formjs.js se ve así:
function myFunc() { alert("works"); }He examinado estas 2 preguntas, pero parecen tener problemas ligeramente diferentes. Problemas en los que no sé si su solución funciona para mi proyecto de matraz:
Cómo llamar a la función JavaScript externa en HTML y Javascript en una carpeta diferente a HTML
Esto parece algo simple, pero todos los tutoriales que he visto solo te dicen qué escribir en tus archivos, pero no te dan los matices de la estructura de carpetas.
Cualquier ayuda es apreciada.
Aquí hay una captura de pantalla de la estructura de mi carpeta, ya que mi texto está causando cierta confusión:
El problema era el hecho de que estaba hospedando el sitio de desarrollo en mi propia máquina. Para importar un archivo JS , debe estar en una carpeta static . Esto no se aclara en muchos tutoriales porque se maneja por usted.
La estructura de carpetas debe tener una carpeta estática y debe verse así
Root -static file.js -templates page.html ... Para cargar su archivo js en su html, debe importarlo como cualquier otro script, pero deberá agregar url_for .
<script src="{{ url_for('static', filename='file.js') }}" type="text/javascript"></script>Mejor explicado aquí .
Usado en una respuesta aquí .
Si eres como yo, no sabías que necesitabas un archivo static y ninguna cantidad de búsqueda tendría ayuda.