我有一个用 Django 1.3 构建的 Web 应用程序。我们还提供了 API 函数,这些函数返回 json,供移动应用程序使用。现在,对于身份验证,我们在视图中使用 login_required 装饰器。但是,对于 API,这不起作用,因为它返回 HTML(重定向到登录页面)并且移动设备有自己的登录屏幕。我们想要返回要求用户登录的 json 响应。
我们如何实现这一点?
我有一个用 Django 1.3 构建的 Web 应用程序。我们还提供了 API 函数,这些函数返回 json,供移动应用程序使用。现在,对于身份验证,我们在视图中使用 login_required 装饰器。但是,对于 API,这不起作用,因为它返回 HTML(重定向到登录页面)并且移动设备有自己的登录屏幕。我们想要返回要求用户登录的 json 响应。
我们如何实现这一点?
您可以编写自己的装饰器。请参阅https://github.com/django/django/blob/master/django/contrib/auth/decorators.py的 login_required 代码。
您应该将 redirect_to_login 替换为代码以返回 json 错误消息。