4

我正在准备一个 api,并使用docstrings作为文档。api 服务选择相关的 ApiClass 方法并加入每个文档字符串以创建文档。这样,程序开发人员和 api 用户都可以访问相同的文档。

我的班级结构是这样的:

API_STATUS = {
    1: 'some status',
    2: 'some other status message'
}

class MyApi:
    def __init__(self):
        blah blah blah

    def ApiService1(self, some_param):
        """ 
        here is the documentation
            * some thing
            * some other thing
        keep on explanation
        """
        do some job 

    def  ApiService2(self, some_param):
        """"
        Another doc...
        """
        do some other job

HttpResponse用来返回最终的文档字符串。因此,当我请求服务文档时,输出非常可读

ApiService1

    here is the documentation
        * some thing
        * some other thing
    keep on explanation

ApiService2

    Another doc...

到目前为止一切都很好,但是有一些变量,如API_STATUS字典和一些列表,我希望将它们添加到文档中。但是当我将它们解析为字符串或调用repr函数时,所有格式都消失了

{1: '一些状态' 2: '一些其他状态信息', 3: '.....', 4: '........', ....}

这使得它不可读(因为 dict 有大约 50 个元素。)。

我不想写成文档字符串(因为在未来的更新中,相关的字典可能会更新,而字典字符串可能会被遗忘)

HttpResponse有没有办法在不删除样式缩进 的情况下将我的字典添加到我的响应文档字符串中(在将其返回为 之前)?

4

1 回答 1

15

使用 pprint:

>>> API_STATUS = {1: 'some status', 2: 'some other status message'}
>>> import pprint
>>> pprint.pprint(API_STATUS, width=1)
{1: 'some status',
 2: 'some other status message'}
于 2012-06-04T12:47:40.820 回答