我有一个使用 ajax 调用并返回 JSON 的 View 。
我希望它需要身份验证。
@login_required
def my_view(request):
data = some_data
return HttpResponse(json.dumps(data), mimetype='application/json')
理想情况下,如果我未通过身份验证,此 View 应返回 HTTP 状态 401 Unauthorized 或类似内容,以便我的 javascript 可以正确解释响应。
要求对 Ajax 请求进行身份验证是一种好的做法吗?
如果是,我如何从 @login_required
装饰器获取此 HTTP 状态?
最佳答案
- 这是否是一个好的做法取决于 ajax 请求请求的资源
- 您不必使用
login_required
装饰器,您可以简单地检查my_view
中的凭据。如果检查失败,则返回 401。 - 如果您有相当多的资源,并且想在其上构建一个用于 Ajax 目的的 REST API,请考虑使用诸如 Tastypie 之类的框架。 .
关于python - Django - 查看 JSON login_required,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13306283/