Kre*_*nik 17 authentication django decorator
当我尝试使用staff_view时,我会在管理员身份验证界面中重定向.
from django.contrib.admin.views.decorators import staff_member_required
@staff_member_required
def staff_view(request..):
...
Run Code Online (Sandbox Code Playgroud)
如何进行自定义登录,而不是在默认的管理员登录界面中重定向?
Hed*_*ide 27
你可以使用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..):
...
Run Code Online (Sandbox Code Playgroud)
值得指出的是它staff_member_required是一个包装器user_passes_test(参见源代码)并且它还接受一个login_url参数,所以你可以这样做:
@staff_member_required(login_url=example_url)
def staff_view(request..):
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10164 次 |
| 最近记录: |