flask jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'endif'
flask jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'endif'
所以在 Flask 中我有这个模板:
{% extends "base.html" %}
{% block title %} Chatroom mit {{name}}{% endblock %}
{% block content %}
<div class="surline">
<div class="receiv_pic"><img src="static\images\{{prof_pic}}" class="rounded-circle"> </div> <div class="chat_name"><strong>{{name}}</strong></div>
</div>
<div class="chatter">
<div class="stylingtest">
{% for key in real_keys %}
<p>
{% if send in key %}
<div class="dropdown{% if rec in key %}rec{{leng_dict[key]}}{% elif send in key %}send{{leng_dict[key]}}{% endif %}">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-expanded="false">
{{real_dict[key]}}
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
<li><a class="dropdown-item" href="#"><form action="/{{user_id}}" method="POST"><input type="submit" name="delete" id="delete{{id_view[key]}}" value="Delete!"><input type="hidden" name="id_identifier" value="{{ id_view[key] }}" id="id{{id_view[key]}}"></form>
</a></li>
</ul>
</div>
{% elif rec in key %}
<div class="dropdownrec{{leng_dict[key]}}{% endif %}">
{{real_dict[key]}}
</div>
{% endif %}
</p>
{% endfor %}
</div>
</div>
<form method="POST" action="/{{user_id}}" class="message_input">
<input type="text" id="message" name="message" class="msg_input" autocomplete="off">
<input type="submit" value="submit" name="submit" class="submit_submit">
</form>
{% endblock %}
错误似乎出现在第 26 行:“{% endif %}”。
这是错误:
jinja2.exceptions.TemplateSyntaxError: 遇到未知标签 'endif'。 Jinja 正在寻找以下标签:'endfor' 或 'else'。需要关闭的最里面的块
是 'for'.
real_dict 是一个字典,其中有一项,real_keys 是键。 leng_dict 是另一个工作指令。 send 和 rec 是定义的变量,它们不应该导致错误。
我很困惑,因为我很确定 endif 是最里面的块,需要关闭它。另外,如果我将其更改为 endfor,它仍然会引发错误。
感谢任何形式的帮助,非常感谢
我认为这是导致错误的原因:
<div class="dropdownrec{{leng_dict[key]}}{% endif %}">
所以,尝试在此处删除 {% endif %}
。
所以在 Flask 中我有这个模板:
{% extends "base.html" %}
{% block title %} Chatroom mit {{name}}{% endblock %}
{% block content %}
<div class="surline">
<div class="receiv_pic"><img src="static\images\{{prof_pic}}" class="rounded-circle"> </div> <div class="chat_name"><strong>{{name}}</strong></div>
</div>
<div class="chatter">
<div class="stylingtest">
{% for key in real_keys %}
<p>
{% if send in key %}
<div class="dropdown{% if rec in key %}rec{{leng_dict[key]}}{% elif send in key %}send{{leng_dict[key]}}{% endif %}">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-expanded="false">
{{real_dict[key]}}
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
<li><a class="dropdown-item" href="#"><form action="/{{user_id}}" method="POST"><input type="submit" name="delete" id="delete{{id_view[key]}}" value="Delete!"><input type="hidden" name="id_identifier" value="{{ id_view[key] }}" id="id{{id_view[key]}}"></form>
</a></li>
</ul>
</div>
{% elif rec in key %}
<div class="dropdownrec{{leng_dict[key]}}{% endif %}">
{{real_dict[key]}}
</div>
{% endif %}
</p>
{% endfor %}
</div>
</div>
<form method="POST" action="/{{user_id}}" class="message_input">
<input type="text" id="message" name="message" class="msg_input" autocomplete="off">
<input type="submit" value="submit" name="submit" class="submit_submit">
</form>
{% endblock %}
错误似乎出现在第 26 行:“{% endif %}”。
这是错误:
jinja2.exceptions.TemplateSyntaxError: 遇到未知标签 'endif'。 Jinja 正在寻找以下标签:'endfor' 或 'else'。需要关闭的最里面的块 是 'for'.
real_dict 是一个字典,其中有一项,real_keys 是键。 leng_dict 是另一个工作指令。 send 和 rec 是定义的变量,它们不应该导致错误。
我很困惑,因为我很确定 endif 是最里面的块,需要关闭它。另外,如果我将其更改为 endfor,它仍然会引发错误。
感谢任何形式的帮助,非常感谢
我认为这是导致错误的原因:
<div class="dropdownrec{{leng_dict[key]}}{% endif %}">
所以,尝试在此处删除 {% endif %}
。