2016-08-03 4 views
-1

システム上の特定のユーザーに特権を設定しようとしています。特定のイベントを削除するための特別なボタンが表示されています。これは、if文の始まりです:ユーザーが文字列と等しい場合

{% if user == occurrence.created_by %} 

これは正常に動作し、私はこれが必要なのですが、私はまた、例えばuser == "admin"のために、文字列にユーザーを比較ORステートメントを必要とします。

私は何を取得し、私は私が{{ occurrence.created_by }}をプリントアウトし、ちょうど作成し、その文字列を使用し、そう{{occurrence.created_by}}"admin"

任意のアイデアを使用しての違いは何である右のための文字列がある知っていますか?

+0

問題が発生している実際のコード、特に「何も得られない」というORステートメントを入力してください。 – alzee

答えて

1

useroccurrence.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 %} 
関連する問題