Sphinx Autoflask — различать строки документации для запросов GET и POST для одной и той же функции.Python

Программы на Python
Ответить
Anonymous
 Sphinx Autoflask — различать строки документации для запросов GET и POST для одной и той же функции.

Сообщение Anonymous »

У меня есть приложение Flask, над документацией которого я работаю через Python-sphinx.

В настоящее время я использую расширение autoflask из sphinxcontrib.autohttp.flask

Мой вопрос: как я могу подготовить строку документации, которая правильно применяет различную информацию к версии GET и версии POST одного и того же маршрута.

Например, небольшая функция:

Код: Выделить всё

@app.route('/add_event', methods=['GET', 'POST'])
def add_event():
"""
..http:get:: /add_event
:return: Test
..http:post:: /add_event
:return: Test2
"""
if request.method == 'GET':
# get some things
person_id = request.args.get('id')
return render_template('create_event.html', race_event_form=test_form)
if request.method == 'POST':
# post some things

return redirect('/person_profile/id/{0}'.format(request.args.get('id')))
Мои текущие расширения в conf.py

Код: Выделить всё

extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.ifconfig',
'sphinx.ext.viewcode',
'sphinx.ext.githubpages',
'sphinxcontrib.httpdomain',
'sphinxcontrib.autohttp.flask',
'sphinxcontrib.autohttp.flaskqref'
]
Вывод Sphinx выглядит так:

Изображение


Можно ли исправить одно для GET, а другое для POST? Мне очень хотелось бы избежать разделения каждой функции на две отдельные функции get/post.

Кроме того, возможно ли, чтобы обязательные аргументы вывода autoflask передавались через request.args или request.form, как переменная person_id в запросе GET?

Подробнее здесь: https://stackoverflow.com/questions/407 ... on-same-fu
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»