python - 在实现权限时,如何让 Django 重定向到另一个页面而不是登录?
问题描述
我有一个适用于视图的权限:
@permission_required('app.admin_foo')
def fooView(request, id=None):
...
但默认行为是重定向到登录。当权限被拒绝时,如何让 Django 重定向到另一个视图?例如
return redirect(reverse('bar'))
更新
供您参考,可以将 Django 设置为在权限检查失败时重定向到自定义 403 页面。请参阅此页面上 Flimm 的回答:Django, Creating a custom 500/404 error page
解决方案
装饰器permission_required
接受一个login_url
参数,这个参数是用户将被重定向到的url而不是默认的settings.LOGIN_URL
@permission_required('app.admin_foo', login_url='/foo/')
def fooView(request, id=None):
...
推荐阅读
- javascript - 输入起始日期时更改起始日期
- javascript - Facebook Messenger 机器人问题
- mysql - 插入多列表 laravel
- javascript - 在firestore时间戳上对对象javascript / typescript数组进行排序
- python - ModuleNotFoundError:“没有名为‘pymongo’的模块
- testing - 如何加载测试Alexa的技能
- php - 检查PHP字符串是否包含操作字符
- ruby-on-rails-5 - 如何使用活动存储将图像上传字段添加到 active_admin
- ruby-on-rails - 在 Rails API for React 中从外部表中查询数据的最佳实践
- php - 如何隐藏html元素?