如何在flask-user中创建change_password模板,以根据用户角色扩展不同的模板

时间:2017-08-17 09:40:25

标签: python flask jinja2

我在flask-user中有这个代码用于change_password.html:

{% extends 'admin.html' %}

{% block content %}
{% from "flask_user/_macros.html" import render_field, render_submit_field %}
<h1>{%trans%}Change password{%endtrans%}</h1>

<form action="" method="POST" class="form" role="form">
    {{ form.hidden_tag() }}
    {{ render_field(form.old_password, tabindex=10) }}
    {{ render_field(form.new_password, tabindex=20) }}
    {% if user_manager.enable_retype_password %}
        {{ render_field(form.retype_password, tabindex=30) }}
    {% endif %}
    {{ render_submit_field(form.submit, tabindex=90) }}
</form>

{% endblock %}

我希望模板能够根据用户角色扩展两个不同的模板,即employee.html和admin.html。也就是说,如果用户是员工,则模板扩展employee.html,如果用户是管理员,则扩展admin.html。我怎么做到这一点?

1 个答案:

答案 0 :(得分:0)

根据Jinja's documentation,必须只有一个extends语句,该语句应放在文件的顶部。要克服此限制,您可以将两个模板加入到一个模板中,并使用新模板中的if语句在它们之间切换。