我一生中第一次使用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>
但是出于未知的原因,它不起作用,我认为这是因为我需要以一种未知的特殊方式导入它们。
答案 0 :(得分:1)
您应该以与导入CSS相同的方式导入它们。
例如:
<script src="{{ url_for('static', filename='static/js/app.js') }}"></script>