【问题标题】:Test REST service based on request.user基于 request.user 测试 REST 服务
【发布时间】:2016-05-03 22:45:01
【问题描述】:

我在 Django 上构建 SPA,我想基于 request.user 获取和发布 JSON 数据。 像这样的:

def get(self, *args, **kwargs):
    return {
        "data": [
            i.get_json() for i in Customer.objects.filter(pk=self.request.user.pk)]
    }        

但我很困惑,如何通过 REST 服务(例如“Postman”或“Curl”)将我的用户置于请求中。
邮递员有“授权”字段,所以我把登录名和密码放进去,我的标题更新为:
Authorization Basic YWdlbmN5X3NwYUBtYWlsLnJ1OjExMTEx
我用 curl 测试它:
curl -u myuser:11111 http://127.0.0.1:8000/api/myurl/
但用户仍然 - AnonymousUser
它可以在以后使用 angular,但我不明白我现在如何测试它。

【问题讨论】:

  • 如果您使用的是 Django rest 框架,请发布您的设置和视图类
  • @dkarchmer 不,我在没有 REST 框架的情况下构建它,我找到了解决方案,只是有点误解
  • 您应该避免重新发明轮子。查看 Django rest 框架
  • @dkarchmer 是的,我现在应该这样做。但是现在这个项目已经太迟了:)

标签: django rest curl postman


【解决方案1】:

我找到了解决方案。我需要先用我的用户登录并从 Cookie 中获取 sessionid,然后将 sessionid 放入请求中。
Postman 有一个不错的扩展名为“Postman Interceptor”,它可以自动将来自浏览器的所有会话放入请求中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-12
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    相关资源
    最近更新 更多