我使用Django自定義用戶模型。一切都在管理工作正常 - 登錄,註銷等。然而,當我試圖從我自己的view.py調用login:Asse田在/登錄/ sensitive_post_parameters沒有收到一個HttpRequest,在登錄
def my_login(request, *args, **kwargs):
response = login(request, *args, **kwargs)
return response
我得到以下錯誤:
AssertionError at /cust/login/
sensitive_post_parameters didn't receive an HttpRequest. If you are decorating a classmethod, be sure to use @method_decorator.
Request Method: POST
Request URL: http://localhost:8000/cust/login/
Django Version: 1.6.1
Python Version: 2.7.3
Traceback:
File "virtual_env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 114. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "virtual_env/local/lib/python2.7/site-packages/django/views/generic/base.py" in view 69. return self.dispatch(request, *args, **kwargs)
File "virtual_env/local/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_view 57. return view_func(*args, **kwargs)
File "virtual_env/local/lib/python2.7/site-packages/rest_framework/views.py" in dispatch 399.response = self.handle_exception(exc)
File "virtual_env/local/lib/python2.7/site-packages/rest_framework/views.py" in dispatch 396.response = handler(request, *args, **kwargs)
File "virtual_env/local/lib/python2.7/site-packages/rest_framework/decorators.py" in handler 49.return func(*args, **kwargs)
File "virtual_env/myproject/myidentity/views.py" in my_login 13.response = login(request, *args, **kwargs)
File "virtual_env/local/lib/python2.7/site-packages/django/views/decorators/debug.py"in sensitive_post_parameters_wrapper 68."sensitive_post_parameters didn't receive an HttpRequest. If you "
Exception Type: AssertionError at /cust/login/
Exception Value: sensitive_post_parameters didn't receive an HttpRequest. If you are decorating a classmethod, be sure to use @method_decorator.
Request information:
GET: No GET data
沒有找到太多引用這個問題,除了這一點: Django AssertionError "sensitive_post_parameters didn't receive an HttpRequest" on add users in admin
謝謝
難道說你是不是在CSRF令牌發送,這使得對Django的登錄視圖返回None,而不是要求CSRF裝飾進一步向下傳遞到'sensitive_post_parameters'裝飾? –
我確實發送了它。另一個實驗地停止使用@csrf_exempt CSRF,卻沒有任何變化,仍然在登錄 – user3193043