找不到Python flask jinja图像文件

我正在使用Flask,一个适用于Python的网络框架。Flask使用Jinja渲染模板。我不知道Jinja Flask使用哪个版本,也不知道如何检索Jinja版本或Flask版本。我使用python版本2.7。

该模板在css / image目录中包含一个图像。直接在Firefox浏览器中以文件形式查看模板时,此图像可见。

但是在执行Flask时不是:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/hello/')

@app.route('/hello/<name>')

def hello(name=None):

return render_template('Basic.html', name=name)

if __name__ == '__main__':

app.debug = True

app.run()

HTML文件的内容:

 <!DOCTYPE HTML>

<html>

<body>

<!-- variable example begin -->

{% if name %}

<h1>Hello {{ name }}!</h1>

{% else %}

<h1>Hello World!</h1>

{% endif %}

<!-- variable example end -->

<img src="css/images/icons/resultset_previous.png" width="16" height="16" alt="previous" title="Previous" border="0">

</body>

</html>

模板运行正常,变量示例按预期运行。但是不显示图像。调试返回:“ GET /hello/css/images/icons/resultset_previous.png HTTP / 1.1” 404-

我按照文档中的建议在VirtualEnv中运行Flask。图像的路径似乎未知。如何设置路径?

回答:

对于Flask,通常应将静态文件保留在“ static”文件夹下,然后使用url_for函数。假设你的项目名为“ myproject”,并以你的示例为例,它应类似于:

myproject/

app.py

templates/

static/

css/

images/

icons/

resultset_previous.png

然后,你可以在模板中调用

<img src= {{ url_for('static', filename = 'css/images/icons/resultset_previous.png') }} width="16" height="16" alt="previous" title="Previous" border="0">

以上是 找不到Python flask jinja图像文件 的全部内容, 来源链接: utcz.com/qa/422469.html

回到顶部