首页 > 解决方案 > 使用 @login_required 装饰视图会使 POST 请求失败

问题描述

我正在尝试处理从 django 外部到路径的 POST 请求/app/process
当我用请求装饰我的视图时@login_required,我的视图更改为/app/process/login?next=/app/process/request.POST包含非我发布的数据!

问题是什么?

我的观点是这样的:

@login_required
def callback(request):
    state = request.POST['State']

编辑:
如果我登录request.user查看用户在那里,所以他实际上已经登录了!

标签: pythondjangodjango-views

解决方案


错误应该与会话有关。装饰器指示对视图函数的@login_required所有请求都应该经过身份验证。因此,请检查您的会话对象是否保存记录的用户数据。

试试看嘛..

request.POST.get('State')

我猜这可能有用..

请也参考这个问题, 通过 login_required 装饰器转发 POST 参数的建议方法?


推荐阅读