首页 > 解决方案 > ValueError:以 10 为底的 int() 的无效文字:“孟买到迪拜”

问题描述

当我执行这个命令

valueReturned = int(request.form.get("name"))

在此名称是选择标签的情况下,我收到一个值错误说明

ValueError:以 10 为底的 int() 的无效文字:“孟买到迪拜”

这是我的选择代码。

<select name="name">
        {% for flight in flights %}
        <option id="{{flight.id}}">{{flight.origin}} to {{flight.destination}}</option>
        {% endfor %}
    </select>

编译器从标签中选择了什么。

标签: pythonformsflask

解决方案


错误是因为您解析为 int 字符串“孟买到迪拜”。您从 select 中请求属性“名称”,并且您在选项中没有任何值。所以你尝试解析这个:

{{flight.origin}} to {{flight.destination}}

尝试将值放入选项标签:

<select name="name">
    {% for flight in flights %}
        <option value="{{flight.id}}">{{flight.origin}} to {{flight.destination}}</option>
    {% endfor %}
 </select>

稍微改变一下这个说法:

 valueReturned = int(request.form["name"])

我想 flight.id 是一个数字 - 字符串但数字。然后你将有 int 方法正常工作


推荐阅读