我在Django中有一个表单。如果用户经过身份验证,我希望他们看到他们可以编辑的表单:如果不是,那么我希望他们看到一个只显示的表单。
在这两种情况下,我想显示相同的信息,只是如果它们经过身份验证,那么我希望表单可以编辑。
在Django中有一个简单的方法吗?我可以在模板或视图中检查user.is_authenticated:我不想做的是在模板中复制表单代码。
我找到this question,但接受的答案看起来非常复杂。当然,Django必须有一些内置的东西来处理这个问题吗?
答案 0 :(得分:2)
也许是这样的:
{% if user.is_authenticated %}
{{form.as_table}}
{% else %}
{% for field_name, value in form.data.iteritems %}
{{field_name}}: {{value}}
{% endfor %}
{% endif %}