我正在使用 Python 和 Flask 构建一个简单的交互 Web 应用程序。
使用 Chrome 在 localhost:5000 上进行测试。
我有一个模板和一个关联的 javascript 文件,位于:
./模板/main.html
./templates/main_scripts.js
main.html 模板包含如下脚本文件:
<script src="main_scripts.js"></script>
当我使用此 Python 代码渲染模板时...
return render_template('main.html', session_id=session_id, title=sess.title)
main.html 页面已呈现,但我在 Chrome 控制台中收到此错误:
Failed to load resource: the server responded with a status of 404 (NOT FOUND)
发生错误时,使用 Chrome 控制台检查未找到的“main_scripts.js”的位置,浏览器认为它正在尝试从我的虚拟环境中加载它:
./env/Scripts/main_scripts.js
...并且不是来自与模板相同的目录。
我似乎无法强制渲染的模板了解它的脚本文件所在的位置。到目前为止,我已经尝试过像“./main_scripts.js”甚至“/appdir/main_scripts.js”这样的src路径,结果完全相同。
你首先需要创建一个static
与该文件夹处于同一级别templates
文件夹。然后创建一个js
子文件夹并将js文件放入该文件夹中。现在您可以在 html 中调用它。
这是“Pythonic”方式:
<script src="{{ url_for('static', filename='js/main_scripts.js') }}"></script>
正如所解释的here http://flask.pocoo.org/docs/0.12/patterns/packages/#larger-applications在官方 Flask 文档中,你的项目结构应该如下所示:
/yourapplication
yourapplication.py
/static
/css
style.css
/js
main_scripts.js
/templates
main.html
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)