2012-08-02 7 views
15

staff_viewを使用しようとすると、管理者認証インターフェースでリダイレクトされます。staff_member_requiredデコレータを使用しますが、管理インターフェイスにリダイレクトされませんか?

カスタムログインを行い、デフォルトの管理ログインインターフェイスでリダイレクトできないようにするにはどうすればよいですか?

+1

あなた自身のデコレータを書く必要があります:) –

+1

私はちょうど私のデコレータを書いた:P – Kreshnik

答えて

24

あなたはDjangoのuser_passes_testデコレータを使用することができます。

from django.contrib.auth.decorators import user_passes_test 

@user_passes_test(lambda u:u.is_staff, login_url=reverse_lazy('foo')) 
def staff_view(request..): 
    ... 
6

それはstaff_member_requiredがラッパーであることを指摘する価値があるの周りuser_passes_testsource codeを参照)、あなたができるので、それはまた、login_urlパラメータを受け付けます。

@staff_member_required(login_url=example_url) 
def staff_view(request..): 
    ... 
関連する問題