Flask-HTML尝试访问Javascript文件时出现404错误

时间:2018-12-31 23:50:23

标签: javascript python html flask

一般来说,我对python,Javascript和flask非常陌生。当我尝试将Javascript插入html文件并将其托管在本地服务器上时,出现此错误。

127.0.0.1 - - [31/Dec/2018 18:01:03] "GET /%7B%7B%20url_for('static',%20filename='js/ClientSide.js')%20%7D%7D HTTP/1.1" 404-

这是我html文件的相关部分的样子。

<!DOCTYPE html>
<html>
<head> 
<script src="{{ url_for('static', filename='js/ClientSide.js') }}"></script>
</head>
<h1>Tweet Data</h1>

这就是我的python代码的相关部分

app = Flask(__name__,static_folder='templates')

@app.route("/")
def output():
    return send_from_directory(app.static_folder,"Frontend.html")

这是我的文件夹结构目前的样子

├───.idea
├───static
│   ├───css
│   └───js
|       +---ClientSide.js
├───templates
|   +---Frontend.html
├───venv
│
|---twitter.py

2 个答案:

答案 0 :(得分:1)

send_from_directory用于静态文件。 Frontend.html是一个模板,通过该模板,您可以像这样调用{{python code}}。您应该使用render_template,而不要使用send_from_directory。

http://flask.pocoo.org/docs/1.0/quickstart/#rendering-templates

答案 1 :(得分:0)

您应该使用渲染方法将脚本链接为Jinja模板中的变量。

from flask import render_template 

@app.route("/")
def output():
    return render_template("Frontend.html")

您最好在html页面的底部添加JavaScript代码(在end body标签之前)。