gpt4 book ai didi

python - flask 中的 "TypeError: string indices must be integers"

转载 作者:行者123 更新时间:2023-11-29 09:35:57 30 4
gpt4 key购买 nike

我是 Python Web 开发的初学者。我正在练习UPDATE操作。当我尝试从文本框中获取值并将其存储在 python 中的变量中时,出现问题。我编写的代码如下所示:

mysql> desc sample;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| NAME | varchar(30) | YES | | NULL | |
| EMAIL | varchar(70) | YES | | NULL | |
| PHONE | varchar(10) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+

这是我的数据库

{% for col in students %}
<input type="hidden" class="form-control" name="id" placeholder="Id" value="{{col.0}}" />
<input type="text" class="form-control" id="n" name="name" placeholder="Name" value="{{col.1}}" />
<input type="email" class="form-control" id="e" name="email" placeholder="Email" value="{{col.2}}" />
<input type="tel" pattern="[0-9]{10}" class="form-control" name="phone" id="p" placeholder="Phone" value="{{col.3}}" />
@app.route('/update', methods=['POST','GET'])
def update():
if request.method == 'POST':

id_val = request.method['id']
name = request.form['name']
email = request.form['email']
phone = request.form['phone']

#Updating values
cur = mysql.get_db().cursor()
cur.execute('UPDATE sample SET name=%s, email=%s, phone=%s WHERE id=%s',(name,email,phone,id_val))
flash("Data Updated Successfully !!")
mysql.get_db().commit()
return redirect(url_for('home'))

这是我的 Python 代码。问题出现在这一行中的 id_val = request.method['id'] 处。它告诉类型错误:字符串索引必须是整数

这里需要纠正什么?请帮帮我

最佳答案

您正在使用

request.method['id']

其计算结果为'POST'['id']

request.method 为您提供 'POST' 字符串,并且 ['id'] 尝试使用索引对其进行切片。

由于 'id' 不是索引,因此它告诉您这一点 -

TypeError: string indices must be integers.

尝试将 request.method['id'] 更改为 request.form['id']。这应该可行。

关于python - flask 中的 "TypeError: string indices must be integers",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57584476/

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