Как разместить json или сформировать в WTForms Flask - PullRequest
0 голосов
/ 24 апреля 2020

Я использую 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)
...