gpt4 book ai didi

找不到 Python flask jinja 图像文件

转载 作者:太空狗 更新时间:2023-10-29 17:38:34 26 4
gpt4 key购买 nike

新手问题。

我正在使用 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>

模板运行良好,变量示例按预期运行。但是图像不显示。调试返回:“获取/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">

此外,要回答有关神社版本等的问题,请查看此内容

https://github.com/mitsuhiko/flask/blob/master/.travis-lowest-requirements.txt

关于找不到 Python flask jinja 图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17218745/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com