2016-08-03 2 views
-1

Так что я пытаюсь установить привилегию для определенных людей в системе, показывая им дополнительную кнопку для удаления определенного события. Это начало, если заявление:Если пользователь равен строке

{% if user == occurrence.created_by %} 

Это прекрасно работает, и я нуждаюсь в этом, но мне также нужен оператор OR, который сравнивает пользователь строку, например user == "admin".

я ничего не получаю, и я знаю, что строка является правильным, потому что я распечатал {{ occurrence.created_by }} и просто использовали эту строку, которая производит, так что разница между использованием {{occurrence.created_by}} и "admin"

Любые идеи?

+0

Поставьте фактический код, с которым вы столкнулись, особенно заявление OR, которое заставляет вас «ничего не получать». – alzee

ответ

1

Сравнение user и occurrence.created_by работает, потому что они оба являются экземплярами пользователя. Сравнение user и "Admin" всегда будет False, потому что один пользователь, а другой - строка.

Вы можете сравнить "admin" с номером user.username.

{% if user == occurrence.created_by or user.username == "admin" %} 

Однако, лучший подход может заключаться в использовании permissions.

{% if user == occurrence.created_by or perms.my_app.delete_occurrence %} 
Смежные вопросы