没有项目描述
ddrr的Python项目详细描述
django调试请求和响应(ddrr)
从开发输出中获取更多信息!打印请求和响应 标题,正文(漂亮的打印),等高度可定制!
- 完整的请求头
- 整个请求正文
- 漂亮的打印选项
- 彩色输出
- 超级简单的设置
- 没有额外的依赖关系
ddrr还可以用于常规日志记录,您可以使用自己的一些配置。
安装
$ pip install ddrr
# in settings.pyINSTALLED_APPS=(# ..."ddrr",)importddrrddrr.quick_setup()
完成!当您运行runserver
时,您将获得整个http请求和
响应,包括标题和正文。
如果不喜欢默认输出格式,请继续阅读…
定制
ddrr.quick_setup
接受以下可选参数:
enable_requests
-(默认值:true)启用请求日志记录。enable_responses
-(默认值:true)启用响应日志记录。level
(默认值:debug)日志消息的级别。pretty
(默认值:false)启用主体的漂亮打印。request_template
-(默认:无)请求模板字符串request_template_name
-(默认:无)请求模板名称response_template
-(默认:无)响应模板字符串response_template_name
-(默认:无)响应模板名称limit_body
-(默认:无)限制请求和响应正文长度colors
-(默认值:true)如果终端支持,则启用颜色支持
更改输出格式
您可以将request_template
或request_template_name
传递给quick_setup
为请求日志定义不同的输出格式。反应也是一样,
使用response_template
或response_template_name
。
这些模板是普通的django模板,通过必要的 模板上下文,可以访问任何您感兴趣的内容。
- 请求模板上下文:
ddrr.body
-请求正文ddrr.content_type
-请求内容类型ddrr.formatter
-格式化程序ddrr.headers
-头字段和值的映射ddrr.method
-请求方法ddrr.path
-请求路径ddrr.query_params
-查询参数ddrr.query_string
-查询字符串ddrr.record
-实际的日志记录对象ddrr.request
-实际的请求对象
- 响应模板上下文:
ddrr.content
-响应内容ddrr.content_type
-响应内容类型ddrr.formatter
-格式化程序ddrr.headers
-头字段和值的映射ddrr.reason_phrase
-响应原因短语ddrr.record
-实际的日志记录对象ddrr.response
-实际的响应对象ddrr.status_code
-响应状态代码
例如,这将记录每个请求的方法、路径和主体 作为每个响应的状态码、原因短语和内容:
ddrr.quick_setup(request_template="{{ ddrr.method }} {{ ddrr.path }}\n""{{ ddrr.body }}",response_template="{{ ddrr.status_code }} {{ ddrr.reason_phrase }}\n""{{ ddrr.content }}",)
漂亮的打印
默认情况下,“漂亮打印”被禁用。将pretty=True
传递给quick_setup
启用它。
漂亮的json打印不需要外部依赖。
XML的漂亮打印默认使用minidom
,不需要任何额外的
附属国。如果你想用lxml
代替,这在
打印XML很漂亮,您可以使用pip install ddrr[xml]
安装它。
如何在内部工作
中间件ddrr.middleware.DebugRequestsResponses
发送整个
请求对象作为消息发送到ddrr-request-logger
。这个记录器已经
配置为使用ddrr.formatters.DjangoTemplateRequestFormatter
内部使用django的内置模板引擎将请求格式化为
人类可读的形式。默认情况下,这会显示在控制台输出中,但是
可以轻松地将其配置为将其记录到文件、ElasticSearch或其他任何内容。
类似项目
发展和贡献
公关总是受欢迎的!
对于DDRR上的黑客攻击,请确保您熟悉:
安装依赖项并设置预提交挂钩。
$ poetry install
$ pre-commit install
除其他外,预提交挂钩将在代码基上运行flake8并
黑色以确保所有文件的代码样式一致。退房
^{