![](/img/trans.png)
[英]Using jinja2 (with flask) inside JavaScript script tags to render data
[英]Flask + Jinja2 Script imports
使用Flask及其导入脚本和样式表时的模板时出现问题。 我到处搜索了如何做,但没有一个解决我的问题。 这是我项目的结构: https : //i.gyazo.com/f746c58499cbbafa11b023eecb316b15.png这是我定义Flask配置的方式:
app = Flask(__name__,
template_folder="../web/templates",
static_folder="../web/static",
static_url_path=''
)
这就是我导入脚本的方式:
<script src={{ url_for('static', filename='/js/home.js') }}></script>
这是我得到的味精:
(基本上说它无法加载该脚本)
我已经阅读了Flask的快速入门指南。 我尝试在项目的根目录中创建一个“静态”文件夹,但未在配置中设置任何内容。 试图在项目的任何地方更改静态文件夹。
谁能帮我解决这个问题? 我是Flask和Jinja的新手,但整天都在搜索,因此无法正常工作。
注意:模板的路径可以正常工作,我的模板可以正常工作,除了.js和.css导入。
您需要从<script src={{ url_for('static',filename='/js/home.js') }}.
删除以'/'开头<script src={{ url_for('static',filename='/js/home.js') }}.
因此将其更改为<script src={{ url_for('static',filename='js/home.js') }}.
您的项目结构应如下所示:
app.py
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def home():
return render_template("home.html")
if __name__ == "__main__":
app.run()
home.html的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script src={{ url_for('static',filename='js/home.js') }}> </script>
</body>
</html>
home.js
alert("hello");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.