Я использую flask и WTForm и у меня есть этот базовый c маршрут, как я могу разрешить создание формы из request.form или request.get_ json (), если другие внешние системы должны будут отправлять через API только а не через интерфейс? «Решение», которое я придумал ниже, похоже, работает, но не уверен, стоит ли мне go описывать это, как это, или если в wtforms было собственное решение, которое я пропустил. Также не уверен, что проверка if request.get_json() != None:
всегда будет работать для этого случая.
from flask import render_template, Blueprint, request, redirect, url_for, jsonify
from flask_wtf import FlaskForm
from wtforms import StringField, DateTimeField, TextAreaField, validators
import sys
import logging
import wtforms_json
class SomeForm(FlaskForm):
some_name = StringField('some_name', [validators.required(), validators.length(max=2000)])
@some_blueprint.route("/some-route", methods=['GET', 'POST'])
def some_input():
form = SomeForm(request.form)
if request.get_json() != None:
form = SomeForm.from_json(request.get_json())
else:
form = SomeForm(request.form)