Django中与Laravel的dd()相当的函数

9 浏览
0 Comments

Django中与Laravel的dd()相当的函数

我是新手 Django ,并且很难弄清楚如何打印对象内部的内容。我的意思是打印变量的类型和值以及其内部的成员。就像 Laravel 的 dd(object) 函数一样。 Laravel 的 dd() 是调试应用程序的方便工具。

我已经搜索过了,但发现没有有用的信息。我尝试了 pprint()simplejsonprint(type(object){% debug %}。但它们中没有一个能提供关于对象所需的信息。

下面是 Laravel 的 dd() 函数的一个示例输出。

\"enter

在这个图像中,我打印了 Laravel 的请求对象。正如您所看到的,它显示了关于对象的完整信息。我的意思是它所属的类的名称、它的成员变量。还有它的类名和值。并且它不断地深入对象并打印所有信息。

但是我无法在 Django 中找到类似的工具。这很难相信 Django 没有这样一个有用的工具。因此,我想知道是否有任何第三方包可以完成这项技巧。

我正在使用 Django 版本 2.0.5,并尝试打印 django.contrib.messages

此外,我希望输出显示在浏览器中,而不是控制台中。以易读的方式显示,这就是我要求使用 Django 包可以接收对象并呈现对象架构的原因。

admin 更改状态以发布 2023年5月21日
0
0 Comments

引发异常。假设您开启了调试模式,则会看到异常消息。这很粗糙,但在过去帮过我。

只需要:

 raise Exception("I want to know the value of this: " + myvariable_as_a_string)

其他答案和评论者忽略了dd()函数的重要部分“并死亡”,这可以防止后续重定向等问题。

0
0 Comments

你正在寻找 __dict__ 属性或 dir()

print(object.__dict__)

使用pprint可以美化输出

from pprint import pprint
pprint(dir(object))

0