3

我有一个使用 ajax 调用并返回 JSON 的视图。

我希望它需要身份验证。

@login_required
def my_view(request):
    data = some_data
    return HttpResponse(json.dumps(data), mimetype='application/json')

理想情况下,如果我未通过身份验证,此视图应返回 HTTP 状态401 Unauthorized或类似内容,以便我的 javascript 可以正确解释响应。

要求对 Ajax 请求进行身份验证是一种好习惯吗?
如果是,我怎么能从@login_required装饰器那里得到这个 HTTP 状态?

4

1 回答 1

2
  1. 这是否是一种好习惯取决于 ajax 请求所请求的资源
  2. 你不必使用login_required装饰器,你可以简单地检查里面的凭据my_view。如果检查失败,则返回 401。
  3. 如果您有相当多的资源,并且想在其之上构建一个 REST API 用于 Ajax 目的,请考虑使用诸如Tastypie 之类的框架。
于 2012-11-09T10:41:11.177 回答