【问题标题】:How to pass {{x}} into src="{{ url_for('static', filename='photos/x') }}">?如何将 {{x}} 传递给 src="{{ url_for('static', filename='photos/x') }}">?
【发布时间】:2019-09-03 21:53:42
【问题描述】:

我想将变量 {{x}}(其中 x 是图像文件名)传递给 Flask 中的 jinja 模板,并在内部使用它而不是 x: <img src="{{ url_for('static', filename='photos/x')}}">

我已经试过了:

{{x}}
{% set file_name = 'photos/' + x %}
<img src="{{ url_for('static', filename=file_name)}}">

但是,它返回 &lt;img src="/static/photos/default.png%0D"&gt; 文件名末尾有 %0D,我找不到摆脱它的方法。

【问题讨论】:

  • 你的代码帮我解决了我的问题,干杯!

标签: python html flask jinja2


【解决方案1】:

%0D是换行符的URI编码值

https://en.wikipedia.org/wiki/Percent-encoding#Character_data

您可以在它到达模板之前提前剥离它,也可以通过以下方式在模板中剥离它:

{% set file_name = 'photos/' + x.rstrip() %}

【讨论】:

    猜你喜欢
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 2015-01-13
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多