未找到Python flask jinja图像文件
新手问题 我正在使用Flask,一个Python的webframe。Flask使用Jinja渲染模板。 我不知道Jinja Flask使用哪个版本,也不知道如何检索Jinja版本或Flask版本。我使用Python版本2.7 该模板在css/image目录中包含一个图像。直接在Firefox浏览器中以文件形式查看模板时,此图像可见 但不是在执行以下操作时:未找到Python flask jinja图像文件,python,flask,jinja2,Python,Flask,Jinja2,新手问题 我正在使用Flask,一个Python的webframe。Flask使用Jinja渲染模板。 我不知道Jinja Flask使用哪个版本,也不知道如何检索Jinja版本或Flask版本。我使用Python版本2.7 该模板在css/image目录中包含一个图像。直接在Firefox浏览器中以文件形式查看模板时,此图像可见 但不是在执行以下操作时: from flask import Flask, render_template app = Flask(__name__) @app.r
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()
从烧瓶导入烧瓶,渲染\u模板
app=烧瓶(名称)
@app.route(“/hello/”)
@app.route(“/hello/”)
def hello(name=None):
返回呈现模板('Basic.html',name=name)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
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>
{%if name%}
你好{{name}}!
{%else%}
你好,世界!
{%endif%}
模板运行良好,变量示例按预期运行。但图像不会显示。
调试返回:
“GET/hello/css/images/icons/resultset_previous.png HTTP/1.1”404-
我按照文档中的建议在VirtualEnv中运行Flask。
图像的路径似乎未知。如何设置路径?请参阅烧瓶文档的第页
从模板中引用静态文件的正确方法是:
<img src="{{ url_for('static', filename = 'css/images/icons/resultset_previous.png') }}" width="16" height="16" alt="previous" title="Previous" border="0">
对于Flask,您应该将静态文件通常保存在“static”文件夹下,然后使用url\u来执行此功能。假设您的项目名为“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">
另外,要回答您关于jinja版本等的问题,请查看此
您是否按照本教程的建议设置了路径?如果您使用的是virtualenv,您可以通过从命令行执行
pip freeze
来查看您使用的是哪个版本的jinja和flask。非常感谢。这对kobThanks来说很重要。这有帮助!不为我工作