【问题标题】:Django: display/edit form depending on whether user is authenticated?Django:根据用户是否经过身份验证显示/编辑表单?
【发布时间】:2010-02-18 13:28:14
【问题描述】:

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

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

在 Django 中有没有简单的方法来做到这一点?我可以在模板或视图中检查 user.is_authenticated:我不想做的是模板中重复的表单代码。

我找到了this question,但接受的答案看起来非常复杂。肯定有 Django 内置的东西来处理这个问题?

【问题讨论】:

    标签: django django-forms


    【解决方案1】:

    可能是这样的:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-12
      • 2021-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多