gpt4 book ai didi

python - Python 函数的 Web UI

转载 作者:行者123 更新时间:2023-11-28 22:46:16 24 4
gpt4 key购买 nike

我有一个 python 函数,它将一系列整数作为输入并返回另一系列整数。我想以网络应用程序的形式分发该功能。

着陆页应包含一个网络表单,其中包含一系列整数字段(带输入验证)、下拉字段和一个提交按钮。提交按钮触发所述 python 函数并返回应在 html 表中呈现的结果。

我是 web 开发的新手,但经过一些研究后发现,flask 是最适合我用于上述任务的框架。我的问题是到目前为止我遇到的文档主要涉及博客开发,因此与我所追求的应用程序类型没有特别相关。

因此,我正在寻求任何指示(示例代码、书籍、文章)或指导来帮助我开始我的任务。在最简单的形式中,我正在寻找的是:

  • 从下拉列表中获取一个整数 (1-10) 和第二个整数 (1-5) 的网络表单
  • 如果用户输入无效整数 (<1, >10),Web 表单将返回错误
  • 在提交按钮上 python 函数计算两个整数的总和
  • 结果显示在网络表单上

感谢所有指导。

最佳答案

嗯,这真的很简单,就是如何在 html 模板中呈现表单,让 View 获取表单数据,并将上下文传递回模板。

我已经快速模拟了一个您想要的示例(没什么特别的,只是回到基础并向您展示它们如何协同工作),它只是 2 个文件 ma​​in.py (核心文件,如 View 逻辑)和模板 calculation.html:

主.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()

templates/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 和表单等基础知识。

阅读Flask Doc ,并尝试跟进,它们真的很简单,一旦掌握了基础知识,您就可以开始寻找中级和高级主题。

仅供引用,WTForms 有一个名为 Flask-WTF 的扩展名, 它在处理表单时非常方便,尽管没有什么能阻止你像上面的代码一样以纯 html 形式做所有事情。

希望这对您有所帮助,我希望您喜欢 Flask 为您带来的简单性和灵 active 。

关于python - Python 函数的 Web UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27668595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com