如何在Django中处理API调用过期的会话?

时间:2012-06-14 18:31:39

标签: django api authentication

我有一个使用Django 1.3构建的Web应用程序。我们还提供了API函数,它返回json,由移动应用程序使用。现在,对于身份验证,我们在视图中使用login_required装饰器。但是,对于API,这不起作用,因为它返回HTML(重定向到登录页面),而移动设备有自己的登录屏幕。我们想要返回json响应,要求用户登录。

我们如何实现这个目标?

1 个答案:

答案 0 :(得分:2)

你可以自己编写装饰。请参阅https://github.com/django/django/blob/master/django/contrib/auth/decorators.py上的login_required代码。

您应该将redirect_to_login替换为代码,以返回json错误消息。