flask,python函数错误解决

我想用flask做一个用户输入肤色然后为用户输出适合他们肤色颜色的首饰的颜色的小网页

这是我的代码,但是跑出来后出现了这样的错误

img

img

img


请问该如何解决?

望采纳,谢谢!
这个错误有可能是由于请求中的参数错误导致的,或者是因为服务器不支持请求中的格式导致的。
如果是参数错误导致的,可以检查请求中的参数,查看是否有参数没有正确传递,或者是参数名称错误。
如果是服务器不支持请求中的格式导致的,可以检查服务器是否支持请求中的格式,如果不支持,可以尝试更改请求的格式,以便服务器能够理解。

望采纳!!!新年快乐🎉🎉🎉

你应该这样使用request.form:

request.form['']

看你贴图出来的错误提示是request那里的请求参数的问题,服务器无法识别的参数,请检查参数的类型是否正确,格式是否有问题再来看看

你的代码中有一个错误,你在 p 函数的第一个参数里面使用了一个字符串格式化,并且在里面使用了 request.form[color123('Complexion_input','Eye_colour_input',Vein_colour_input')]。


问题出在 request.form[color123('Complexion_input','Eye_colour_input',Vein_colour_input')] 这个地方, request.form 是一个字典,它是从客户端发送的请求中获取的数据。你在里面传入了 color123('Complexion_input','Eye_colour_input',Vein_colour_input') 这个值,但是这并不是一个有效的字典键。


我猜你想要的是调用一个名为 color123 的函数,并传入三个参数,然后在返回值上使用 [] 操作符。你应该把 color123('Complexion_input','Eye_colour_input',Vein_colour_input') 改成 color123(request.form['Complexion_input'],request.form['Eye_colour_input'],request.form['Vein_colour_input'])。


还有一点,如果 color123 函数没有定义,那么你需要在代码里面先定义它。

换个位置试试

# 原
# p(f"color recommendation:{color123(request.form['Complexion_input','Eye_colour_input','Vein_colour_input'])}"),
# 改 
p(f"color recommendation:{request.form[color123('Complexion_input','Eye_colour_input','Vein_colour_input')]}"),

我不确定你这三个参数是怎么回事,但看你意思代码应该是这样

在使用 Flask 开发 web 应用时,如果出现错误,可以使用以下几种方法来解决:

检查代码: 在出现错误时,首先应该检查代码是否有语法错误或者错误的变量名。

检查路由: 检查路由是否与函数名称匹配,是否存在重复的路由或者拼写错误。

检查环境: 检查是否安装了所有需要的模块和库。

检查数据库连接: 如果您的应用程序需要连接数据库,请检查是否连接成功并正确配置了数据库的连接字符串。

查看错误日志: Flask 会在控制台输出错误信息,可以查看错误日志来了解错误的详细信息。

开启调试模式: 开启调试模式可以帮助更好地了解错误原因。

由于在调用 request.form 时传入了错误的参数导致了这样的错误。

在这行代码中:


p(f"color recommendation:{color123(request.form['Complexion_input','Eye_colour_input',"Vein_colour_input'])}"),

您应该改为这样:

p(f"color recommendation:{color123(request.form['Complexion_input'], request.form['Eye_colour_input'], request.form['Vein_colour_input'])}")

因为 request.form 是一个字典,需要传入键来访问其中的值。你传入了三个字符串而不是字典键,导致程序找不到对应的值。

此外,在这行代码中:

input (type='submit', value 'Back')

需要加上 “=”,应该改为这样:


input (type='submit', value='Back')

修改这些错误后,应该能够正常运行。

如果有帮助还望采纳