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

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

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

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

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

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

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

  • проверка достоверности диапазона времени python
  • Загрузите несколько CSV-файлов с помощью Flask?
  • Является ли Python слабо типизированным языком, поскольку переменные могут переключать типы?
  • Сценарий Python для копирования текста в буфер обмена
  • Как преобразовать шестнадцатеричный триплет в кортеж RGB и обратно?
  • Как сгенерировать все возможные комбинации матрицы 0-1 в Python?
  • Полностью оберните объект в Python
  • Модуль рациональных чисел Python Python для 2.5
  • 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 - лучший язык программирования в мире.