我的模板包含2个{{var1}}和{{var2}}占位符。 如果仅将变量设置为var1:value1,则{{var2}}也将替换为空字符串。但是我想要{{var2}}而不是空字符串
var = {var1:value1}
tmp = Template(f.read(),start="{{",end="}}")
data = tmp.render(var)
答案 0 :(得分:0)
在设置var1和var2时,可以使用后备分配来做到这一点:
@jwt_required
def get_user_by_id(user_id: str) -> Dict[str, Any]:
# returns user when using flask run, but not with gunicorn
curr_user = get_current_user()
或者您可以在Django模板中完成此操作,
var1 = value1 if value1 else "{{var1}}"
var2 = value2 if value2 else "{{var2}}"
var = {"var1":var1, "var2":var2}
tmp = Template(f.read(),start="{{",end="}}")
data = tmp.render(var)
或者,如果您使用的是Jinja2进行模板制作,则可以在Jinja2模板中执行以下操作:
{% if var1 %}
{{ var1 }}
{% else %}
{% templatetag openvariable %} var1 {% templatetag closevariable %}
{%endif%}