在使用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>
这是我得到的味精:
Fallóla carga de con fuente“ http://localhost:5000/js/home.js”。
(基本上说它无法加载该脚本)
我已经阅读了Flask的快速入门指南。 我尝试在项目的根目录中创建一个“静态”文件夹,但未在配置中设置任何内容。试图在项目的任何地方更改静态文件夹。
有人可以帮我解决这个问题吗?我是Flask和Jinja的新手,但整天都在搜索,因此无法正常工作。
注意:除了.js和.css导入之外,模板的路径都可以正常工作,我的模板也可以正常工作。
答案 0 :(得分:0)
您需要从<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");