Django: отображение / редактирование формы в зависимости от того, аутентифицирован ли пользователь? - PullRequest
1 голос
/ 18 февраля 2010

У меня есть форма в Джанго. Если пользователь аутентифицирован, я хочу, чтобы он увидел форму, которую он может редактировать: если нет, тогда я бы хотел, чтобы он увидел форму только для отображения.

В обоих случаях я хочу показать одну и ту же информацию, только если они аутентифицированы, тогда я хочу, чтобы форма была редактируемой.

Есть ли простой способ сделать это в Django? Я могу проверить user.is_authenticated либо в шаблоне, либо в представлении: я не хочу делать дубликат кода формы в шаблоне.

Я нашел этот вопрос , но принятый ответ выглядит безумно сложным. Наверняка в Django должно быть что-то встроенное для решения этой проблемы?

1 Ответ

2 голосов
/ 18 февраля 2010

Может быть, что-то вроде этого:

{% if user.is_authenticated %}
   {{form.as_table}}
{% else %}
   {% for field_name, value in form.data.iteritems %}
       {{field_name}}: {{value}}
   {% endfor %}
{% endif %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...