用Python Django打印HTTP请求

13
我希望能够打印出发送到服务器的整个请求对象。由于我没有客户端代码(它是一个Android客户端),因此需要查看请求从客户端携带的所有参数。我现在在view.py文件中,并且正在使用该函数。
def index(request):

    return HttpResponse("test params")

打印请求对象

请建议代码。如果我能在浏览器中而不是控制台中打印请求,那就更好了。


1
“print request” 是用于控制台的。 - Henrik Andersson
返回HttpResponse(request) - Hedde van der Heide
return HttpResponse(request)不起作用,我得到了一个空白网页。 - user1796624
1
尝试使用render(request, 'mypage.html', {'request': request})渲染页面。 - gornvix
3个回答

8
import sys

def req(request)
   print(request.__dict__, file=sys.stderr)

1
比被接受的答案更快/更容易 - Alfonso_MA

7
from django.utils.html import escape
def index(request):
    return HttpResponse(escape(repr(request)))

6
您可以使用Django Debug Toolbar,它允许您查看许多调试信息,包括请求和会话。
根据其文档:
目前已编写并正在工作的面板如下: - Django版本 - 请求计时器 - settings.py中设置的列表 - 常见HTTP标头 - GET/POST/cookie/session变量显示 - 使用的模板和上下文以及它们的模板路径 - SQL查询,包括执行时间和每个查询的EXPLAIN链接 - 信号列表,它们的参数和接收者 - 通过Python内置的logging或通过logbook模块记录的日志输出

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接