将Web模板与Flask集成

时间:2019-02-06 04:03:26

标签: python flask

我已经下载了一个网站模板,我想将其与flask集成。基本上,此模板包含asset文件夹,其中包含css和js文件。我知道通过使用render_template('index.html'),我可以在localhost上调用index.html。但是,当我这样做时,网页无法正确呈现。我认为flask无法在该文件夹(模板文件夹)中加载js,css等文件。

我的模板文件夹具有index.html以及资产文件夹和其他文件夹。我正在使用下面显示的代码来实际运行index.html。

from flask import Flask, render_template
import os

app = Flask(__name__)

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

if __name__ == '__main__':
    app.run(debug=True)

因此,正在加载index.html,但未加载css文件等。因为如果未加载css文件,则我的网页看起来很沉闷。它只是在白色屏幕上的一些文本。我认为问题出在加载静态文件上,因为我收到一条错误消息,说本地主机上没有文件夹资产。

谢谢。

1 个答案:

答案 0 :(得分:0)

您需要像这样引用模板中的静态文件:

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

并确保将样式表放在项目的static目录中。您还可以使用以下方式配置包含静态资产的目录:

app = Flask(__name__, static_folder="static_dir")