Django:显示/编辑表单取决于用户是否经过身份验证?

时间:2010-02-18 13:28:15

标签: django django-forms

我在Django中有一个表单。如果用户经过身份验证,我希望他们看到他们可以编辑的表单:如果不是,那么我希望他们看到一个只显示的表单。

在这两种情况下,我想显示相同的信息,只是如果它们经过身份验证,那么我希望表单可以编辑。

在Django中有一个简单的方法吗?我可以在模板或视图中检查user.is_authenticated:我不想做的是在模板中复制表单代码。

我找到this question,但接受的答案看起来非常复杂。当然,Django必须有一些内置的东西来处理这个问题吗?

1 个答案:

答案 0 :(得分:2)

也许是这样的:

{% if user.is_authenticated %}
   {{form.as_table}}
{% else %}
   {% for field_name, value in form.data.iteritems %}
       {{field_name}}: {{value}}
   {% endfor %}
{% endif %}