Веб-интерфейс для функции Python

У меня есть функция python, которая берет серию целых чисел в качестве входов и возвращает еще одну серию целых чисел. Я хотел бы распространять функцию в виде веб-приложения.

Целевая страница должна состоять из веб-формы с целым рядом полей (с проверкой ввода), раскрывающихся полей и кнопки отправки. Кнопка отправки запускает указанную функцию python и возвращает результаты, которые должны отображаться в таблице html.

  • Почему Flask не должен развертываться со встроенным сервером?
  • Как отладить приложение Flask
  • register_blueprint не добавляет маршрут в приложение Flask
  • Триггеры косой черты 404 в правиле маршрута колбы
  • AssertionError: отображение функции просмотра переписывает существующую функцию конечной точки: main
  • Flask-WTF / WTForms с Unittest не выполняет проверку, но работает без Unittest
  • Я полный новичок с веб-разработкой, но после некоторых исследований выяснилось, что фляжка является наиболее подходящей основой для меня для выполнения вышеуказанной задачи. Моя проблема заключается в том, что документация, с которой я столкнулся до сих пор, касается прежде всего развития блога и, следовательно, не имеет особого отношения к типу приложения, которым я пользуюсь.

    Поэтому я ищу любые указатели (пример кода, книги, статьи) или руководство, чтобы начать работу с моей задачей. В своей простейшей форме я ищу:

    • веб-форму, которая принимает одно целое число (1-10) и второе целое число (1-5) из выпадающего списка
    • веб-форма возвращает ошибку, если пользователь вводит недопустимое целое число (<1,> 10)
    • on submit button Функция python вычисляет сумму двух целых чисел
    • результат представлен в веб-форме

    Все рекомендации были оценены.

  • Приложение Flask, завернутое в DispatcherMiddleware, больше не имеет test_client
  • Выполнять произвольный код python удаленно - это можно сделать?
  • Как остановить Flask от инициализации дважды в режиме отладки?
  • Декодер Python заставляет функцию забыть, что она принадлежит классу
  • Как вернуть массив JSON с помощью Bottle?
  • Как создать файл яйца Python
  • One Solution collect form web for “Веб-интерфейс для функции Python”

    Ну, это очень просто, это все о том, как вы представляете форму в html-шаблоне, получая представление для получения данных формы и передавая контекст обратно в шаблон.

    Я быстро издевался над образцом, как вы хотите (ничего необычного, просто вернемся к основному и покажу вам, как они работают вместе), это всего лишь несколько строк кода в 2 файла main.py (файл ядра, например логика вида ) и шаблон расчета.html :

    main.py

    from flask import Flask from flask import render_template from flask import request app = Flask(__name__) @app.route("/", methods=['GET', 'POST']) def calculation(): result = 0 error = '' # you may want to customize your GET... in this case not applicable if request.method=='POST': # get the form data first = request.form['first'] second = request.form['second'] if first and second: try: # do your validation or logic here... if int(first)>10 or int(first)<1: raise ValueError result = int(first) + int(second) except ValueError: # you may pass custom error message as you like error = 'Please input integer from 1-10 only.' # you render the template and pass the context result & error return render_template('calculation.html', result=result, error=error) if __name__ == "__main__": app.run() 

    шаблоны / calculation.html

     <h1>Calculation</h1> <form method="POST"> <input type="text" name="first" value=""> <select name="second"> <option value="1" selected>1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> <input type="submit" value="Submit"> {% if result %} <p> <label name='result'>Answer is: {{ result }}</label> </p> {% endif %} {% if error %} <p> <label name="error">{{ error }}</label> </p> {% endif %} </form> 

    Надеюсь, они объясняют себя, и вы можете понять, как работать с базой фляшек и форм и т. Д.

    Прочитайте Flask Doc и попробуйте выполнить их, они довольно просты, и как только вы пригвоздите основной, вы можете начать поиск промежуточной и продвинутой темы.

    FYI, существует расширение для WTForms под названием Flask-WTF , это очень удобно при работе с формами, хотя ничто не останавливает вас, просто делая все в простой форме html, как и выше кода.

    Надеюсь, это поможет, и я хочу, чтобы вам понравилась простота и гибкость.

    Python - лучший язык программирования в мире.