无法使用 Flask 从下拉列表中获取在 python 中选择的值

2023-12-02

这个问题可能是重复的,但我已经检查了此类相关问题的所有答案,但无法解决。

我试图从由数字组成的下拉菜单中获取值。然后我想将数字与值进行比较并根据比较显示文本。

Eg

if value_selected_from_dropdown >3
 display text

我无法显示文本,甚至无法打印所选选项的值。

这是Python文件,web_plants.py

from flask import Flask, render_template,request, redirect, url_for

app = Flask(__name__)

def template(title = "HELLO!", text = ""):
    templateDate = {
        'text' : text
        }
    return templateDate

@app.route("/threshold", methods=['POST'])
def threshold():
        tvalue= (request.form.get['tvalue']) #get value from dropdown
        msg= ""
        if tvalue>3:
          msg= "rating above 3"
         templateData = template(text = msg) #display text using template()
        #templateData = template(text = tvalue) #tried to print the value selected
        return render_template('index.html', **templateData)

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=80, debug=True)

索引.html:

<!DOCTYPE HTML>
<html>

<head>
 <link rel="stylesheet" type="text/css" href="{{ url_for('static',filename='style.css')}}" />
</head>

<body>

 <h2> {{ text }} </h2>
<form action= "{{ url_for('threshold') }}" method="post>"
             <p>
             <select name= 'tvalue'>
                 <option value="10">10</option>
                 <option value="11">11</option>
                 <option value="15">15</option>
                 <option value="2">2</option>
                 <option value="1">1</option>
              </select>
              </p>
    </form>
 </body>
</html>

有多种方法可以实现这一目标。您可以为模板本身提供逻辑,也可以在模板中添加逻辑function threshold.

索引.html

<h2> {{text}} </h2>
<form action= "{{ url_for('threshold') }}" method="POST">

     <select name= 'tvalue'>
      {% for tvalue in tvalues %}
        {% if selected_tvalue == tvalue %}
            <option value="{{ tvalue }}" selected='selected'>{{ tvalue }}</option>
        {% else %}
             <option value="{{ tvalue }}" >{{ tvalue }}</option>
        {% endif %}
      {% endfor %}

      </select>

     <input type="submit" value="Submit" />
</form>

OR,

{% if selected_tvalue > 3 %}
    <h2> Selected value is greater than 3 </h2>
{% else %}
     <h2> Selected value is less than or equal to 3 </h2>
{% endif %}   
<form action= "{{ url_for('threshold') }}" method="POST">

     <select name= 'tvalue'>
      {% for tvalue in tvalues %}
        {% if selected_tvalue == tvalue %}
            <option value="{{ tvalue }}" selected='selected'>{{ tvalue }}</option>
        {% else %}
             <option value="{{ tvalue }}" >{{ tvalue }}</option>
        {% endif %}
      {% endfor %}

      </select>
    <input type="submit" value="Submit" />
</form>

服务器.py

def template(title = "HELLO!", text = ""):
    templateDate = {
        'text' : text,
        'tvalues' : getTValues(),
        'selected_tvalue' : -1
    }
    return templateDate

def getTValues():
    return (10, 11, 15, 2, 1) 

@app.route("/threshold", methods=['POST', 'GET'])
def threshold():
    tvalue= -1 #default value
    msg = ''
    if request.method == "POST":            
        tvalue = int(request.form['tvalue'])
        if tvalue> 3:
            msg= "rating above 3"

    #generating template data
    templateData = template(text = msg)
    templateData['selected_tvalue'] = tvalue 

    return render_template('index.html', **templateData)

然后在路径中访问您的表单/threshold。我希望它有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 Flask 从下拉列表中获取在 python 中选择的值 的相关文章

随机推荐

  • 有反向代理能力的纯Python网络服务器?

    我正在寻找一个基于纯Python的Web服务器也具有反向代理的能力 看一下Twisted 特别是其反向代理资源 Twisted Web 还提供了在反向代理后面设置的各种工具 这是将 Twisted 应用程序与现有站点集成的建议机制
  • mvc3,编辑器模板,css 类,最大长度和大小

    我有一个编辑器模板如下 但 class maxlength 和 size 属性未获取源代码 using System Globalization model DateTime Html TextBox Model null Model Ha
  • GCC 常量变量的弱属性

    我有一个关于 const 变量的弱属性的问题 我用 gcc 编译了以下几个文件 main c include
  • Powershell - 每月计划任务触发器

    我目前正在通过 Powershell 自动创建计划任务 并且我正在使用New ScheduledTaskAction New ScheduledTaskTrigger and Register ScheduledTask命令 现在 我有一些
  • 删除所有已安装的 OpenCV 库

    我正在运行 Kubuntu 11 10 带有 KDE 4 8 在阅读这一切之前 我只想从我的系统中删除 OpenCV 的所有痕迹 这样我就可以重新开始 整个故事 我首先安装了 python opencv 和 libopencv 我认为是 2
  • Javascript 中函数声明中的双冒号?

    今天我发现了这段代码片段 我找不到anything相关解释此语法 真的是JavaScript吗 这是对的吗 如果不是 代码应该是什么样子 这是一个没
  • 更新到 laravel 5.4 后出现会话错误

    从laravel 5 3更新到5 4后 我在vendor中遇到了错误 错误是 Symfony Component Debug Exception FatalThrowableError 调用 var www ostadbank com ve
  • Android BLE扫描模式设置间隔

    我正在编写一个小型测试应用程序来评估蓝牙模块 该应用程序当前正在使用积极的匹配模式和低延迟扫描模式进行扫描 我们控制了蓝牙模块的广告间隔 并正在尝试评估需要多少广告才能触发android中的回调 有谁知道与低延迟 平衡和低功耗扫描模式设置相
  • 使用 Java 在 GUI 编程中混合 awt 和 swing

    我在 SO 上读到混合 awt 和 swing 对于 Java 中的 GUI 编程来说并不是一个好的方法 但我无法找到任何在使用 swing 时不使用某些 awt 组件的示例 例如 即使使用 swing 我遇到的大多数示例也会使用 awt
  • MySQL:如何查询父子关系?

    假设有如下表记录 TABLE foo foo id foo parent id 1 NULL 2 NULL 3 1 4 2 5 1 6 1 7 2 8 1 9 NULL
  • Log4J 2 查找值在加载/呈现之前在配置中使用

    我正在使用 SystemPropertiesLookup 查找来配置我的 Log4J2 配置 系统属性被设置为我的主要方法中的第一行 问题是 当 Log4J 加载配置时 尚未调用 main 方法 因此系统属性尚未填充 这是我的 log4j2
  • 模板类 - 无法解析的外部符号[重复]

    这个问题在这里已经有答案了 我经常收到这个错误 但我不知道为什么 有人可以帮我找到原因吗 编辑 删除代码 将实现 您的方法定义 与类声明一起放入标头中 请参阅这在 C 常见问题解答中 一些编译器支持 export 关键字来按照您的方式执行此
  • 获取上次打开的 MS Word 文档对象

    我有一个从 MS Word 2003 模板 dot 中的 VBA AutoNew 子函数调用的 python 脚本 因此每次从此 Word 模板创建文档时它都会运行 第三方应用程序从此模板创建文档 第三方应用程序如何设置文档存在许多格式问题
  • 多态类中的虚拟析构函数

    我知道只要有一个多态基类 该基类就应该定义一个虚拟析构函数 这样当一个指向派生类对象的基类指针被删除时 它会先调用派生类的析构函数 如果我在这里错了 请纠正我 另外 如果基类析构函数是非虚拟的 则删除指向派生对象的基类指针将是未定义的行为
  • 如何在 .NET MAUI Flyout Shell 应用程序中自定义标题?

    如何缩小标题间距 当我更改汉堡图标时 其图标颜色始终为白色 怎么了 我可以设置标题字体大小和字体系列吗 在 Android 上可以设置contentInsetLeft contentInsetStart contentInsetStartW
  • 如何在 Python 中对文本文件中的数字求和

    我有一个代码依赖于我读取一个文本文件 在有数字的地方打印数字 在有字符串而不是数字的地方打印特定的错误消息 然后将所有数字相加并打印它们的总和 然后只保存编号到新的文本文件 我已经尝试这个问题几个小时了 我得到了下面写的内容 我不知道为什么
  • PyQt/PySide中连接点击信号时lambda和partial的区别

    当将一组按钮中的多个单击信号连接到带有参数的单个槽函数时 我遇到了信号槽问题 lambda and functools partial可以使用如下 user user button clicked connect lambda callus
  • 如何在 IntelliJ 中调试多线程应用程序?

    我在 IntelliJ IDEA 14 0 2 中遇到了一个关于多线程和断点的奇怪问题 断点之后的代码会在断点处停止之前执行 import java util concurrent atomic AtomicInteger public c
  • 使用 jQuery、JSON 和 AJAX 填充下拉列表

    就像标题所说 我正在尝试使用 jQuery JSON 和 AJAX 创建一个下拉菜单 尽管我熟悉理论但尚未将其付诸实践 任何建议 演示代码片段或教程将不胜感激 因为我希望有一个最好的开始 提前致谢 您需要执行 getJSON 调用以在 do
  • 无法使用 Flask 从下拉列表中获取在 python 中选择的值

    这个问题可能是重复的 但我已经检查了此类相关问题的所有答案 但无法解决 我试图从由数字组成的下拉菜单中获取值 然后我想将数字与值进行比较并根据比较显示文本 Eg if value selected from dropdown gt 3 di