【问题标题】:Checking HTTP Status code django检查HTTP状态码django
【发布时间】:2014-05-02 20:56:39
【问题描述】:

我可能正盯着它看这里。但是 Django 是否有办法实际检查 HTTP 状态代码是什么。如果是 302 重定向状态码,我基本上很感兴趣。但无论我尝试搜索什么,我都只会得到 HTTPResponse(),这对我没有好处。

【问题讨论】:

  • 你的意思是在单元测试中还是什么? Response.status_code(或任何你命名的响应变量)应该得到它。
  • 不,不在单元测试中,这是我在谷歌搜索这种情况时不断得到的。我只是想在视图中获取状态代码。
  • 我认为请求没有状态码,只有响应。为什么视图中需要它?
  • 我正在尝试查看视图是通过重定向访问还是直接访问了该页面。
  • 你知道它会从哪里重定向吗?您可以通过request.META.get('HTTP_REFERER', None) 来查看它是从哪里引用的(如果在任何地方)。

标签: django request httprequest


【解决方案1】:

很遗憾,您的问题没有任何意义。您没有获得任何 Google 搜索结果的原因是根本没有请求的状态代码之类的东西。状态码是服务器作为请求的结果发回给客户端的内容:它不可避免地是响应的一部分,而不是请求。

然而,我怀疑这是一个 XY 问题。你到底想达到什么目的?如果您需要通过重定向保留一些数据,那么您可能希望将其存储在会话中。

【讨论】:

  • 我正在尝试检查视图是否已被直接访问或作为重定向访问,因为我们只希望视图被重定向到时才能访问。
  • 正如我所说,那么,您应该在原始视图中的会话中存储一些内容,然后在新视图中检查它:如果它在那里,您可以确定它是一个重定向。
猜你喜欢
  • 2023-03-02
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 2014-10-13
  • 1970-01-01
  • 2010-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多