使用Flask和静态路径链接.js文件

时间:2018-11-14 16:48:07

标签: javascript python html css flask

我一生中第一次使用Flask和Python。我想显示带有一些CSS和JavaScript文件的HTML页面。我发现,对于CSS来说,最好的方法是使用静态路由来设置服务器

from flask import Flask, render_template, request, redirect, url_for, send_from_directory
import socket, json


# create Flask app
app = Flask(__name__, static_url_path='.')

@app.route('/')
def index():
    return render_template('index.html')

app = Flask(__name__, )

@app.route('/static/<path:path>')
def send_static(path):
    return send_from_directory('static', path)

if __name__ == "__main__":
    app.run()

因此,在文件夹/static中有/static/css/xx.css and /static/js/xx.js,我发现必须像这样在HTML中与我的CSS文件建立关系

<link rel="stylesheet" href="{{ url_for('static', filename='css/bulma.min.css') }}">

现在,要链接我的JavaScript文件也很费劲。一般来说,我是这样导入它们的

<script src="/static/js/fetch.umd.js"></script>
<script src="/static/js/app.js"></script>

但是出于未知的原因,它不起作用,我认为这是因为我需要以一种未知的特殊方式导入它们。

1 个答案:

答案 0 :(得分:1)

您应该以与导入CSS相同的方式导入它们。

例如:

<script src="{{ url_for('static', filename='static/js/app.js') }}"></script>