2016-04-17 8 views
0

私はdjangoを初めて使いました。匿名ユーザーがdjango管理者にログインしていない場合、ビュー/テンプレートページにアクセスできないかどうかを知りたいですか?Django:管理者にログインしていない場合、ユーザーにビュー/テンプレートを表示させない

例:

localhost/myviews 
localhost/admin 

匿名ユーザーのアクセスはlocalhost/myviews>管理者にログインしている場合に認証>でない場合は、@login_requiredデコレータを使用して、エラー

+0

、管理者として真偽はそれがあなたの質問の場合は、管理インターフェイスにアクセスするために必要です。そして、djangoはテンプレートを直接提供するのではなく、ビューを前にレンダリングします。 – vmonteco

答えて

0

を投げます。 thisを参照してください。 django.contrib.adminで

from django.contrib.auth.decorators import login_required
@login_required(login_url='/login'/) def secret(request): return render(request,'after_login.html', {})

+0

実際には、管理者だけがビューを参照するようにしたい場合は、管理者は 'staff'フラグを設定したユーザーを意味します。実際にはさらにステップを進めて、[@staff_member_required decorator](https://github.com/) django/django/blob/master/django/contrib/admin/views/decorators.py#L5)を使用してください。または、ユーザーがビューを取得する権限を持っているかどうかにかかわらず、独自の条件を実装する場合は、[@user_passes_testまたは@permission_requiredデコレータ](https://github.com/django/django/blob/)で再生することもできます。 c1aec0feda73ede09503192a66f973598aef901d/django/contrib/auth/decorators.py)。 – mxscho

+0

それはそれを行う必要があります..ありがとう! – arjay0601

関連する問題