Вам не нужны никакие знания DRF, я думаю, что это больше для понимания того, как классы работают в Python и как работает наследование классов, и как классы могут быть инициализированы и как атрибуты могут быть установлены с помощью __init__()
функция. Однако, как говорится:
На мой взгляд, такое использование строк документации было бы неожиданным.
Строки документации используются, чтобы объяснить, что делает объект, объяснить его параметры или предложить использование объекта.
В вашем случае вы говорите что-то о выполнении вашей функции, а не о том, как она это делает. работает, поэтому я не буду создавать его динамически.
Гораздо лучше держать документацию ясной и краткой.
Я бы также сослался здесь: Стигульный справочник Google: Комментарии и строки документации
Единственный способ увидеть, как это делается, заключается в следующем:
Обезьяна исправляет функцию help()
. Но ... просто скажите "нет" исправлениям обезьян.
Или, создание динамической c строки документа:
from rest_framework.generics import RetrieveUpdateAPIView
from .serializers import ViewSerializer
INPUT_FORMAT = {
"input1": [9, 23, 55],
"input2": "string",
"input3": "boolean",
}
class View(RetrieveUpdateAPIView):
"""
Docstring describing the endpoint.
Would like to integrate the content of {input_1} here.
Would like to integrate the content of {input_2} here.
Would like to integrate the content of {input_3} here.
""".format(**INPUT_FORMAT)
serializer_class = ViewSerializer
def get_object(self):
# blahblah
pass
Однако приведенное выше решение не работает для help()
. И может быть доступно только через атрибут View.__doc__
. И поэтому, как уже говорилось, не было бы идиоматического c или стандартного Python кода.
Я думаю, что хотя вы и считаете это хорошей идеей, подумайте о том, сколько времени вы потенциально потратили на попытки выяснить создать динамическую строку документации c. Стоило ли?