@Aaltsin

Как оптимально редактировать данные из формы?

Допустим, есть несколько форм для ввода математической формулы и пределов интегрирования на сайте. Для python наиболее известный знак степени '^' выглядит как '**', кроме того необходимо заменять запятые в вещественных числах на точки, удалять лишние пробелы и приводить все к общему регистру. Чтобы не заставлять пользователя придерживаться всех этих нюансов необходимо редактировать данные на стороне сервера.

Реализовал это все в одной функции и для каждой формы применяю эту функцию, выглядит это примерно так: guard(request.form['foo']), guard(request.form['a']) и т.д.

Адекватное ли это решение или есть более оптимальное?
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Flask
Седой и строгий
Во Flask эту задачу лучше всего решить созданием собственного поля:
from wtforms import StringField

class FormulaField(StringField):
    def process_formdata(self, valuelist):
        if valuelist:
            self.data = [guard(i) for i in valuelist]
        else:
            self.data = []

И использовать его потом в соответствующих формах:
from flask_wtf import FlaskForm

class MathForm(FlaskForm):
    formula = FormulaField('Формула', validators=[DataRequired()])
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы