Python 类型错误:不可损坏的类型:';设置';烧瓶状
我正在尝试从Flask中的表单获取数据: app.pyPython 类型错误:不可损坏的类型:';设置';烧瓶状,python,forms,flask,form-submit,Python,Forms,Flask,Form Submit,我正在尝试从Flask中的表单获取数据: app.py @app.route('/newProjectCreation/', methods=['GET', 'POST']) def newProjectCreation(): try: if request.method == 'POST': # Data Fetch from Models Form name = request.form['modelName']
@app.route('/newProjectCreation/', methods=['GET', 'POST'])
def newProjectCreation():
try:
if request.method == 'POST':
# Data Fetch from Models Form
name = request.form['modelName']
modelDescription = request.form['modelDescription']
inputType = request.form.getlist['inputType[]']
outputType = request.form.getlist['outputType[]']
model = request.files['model']
modelLanguage = request.form['modelLanguage']
HTML
这是一个简单的表单(不是Flask WTF表单),字段“inputType”和“outputType”应该按原样返回数组
错误:
Traceback (most recent call last):
File "/home/adiagarwal/cad/flaskapp-docker/flaskapp/app.py", line 106, in newProjectCreation
inputType = request.form.getlist['inputType[]']
TypeError: 'method' object is not subscriptable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/adiagarwal/cad/env/lib/python3.8/site-packages/flask/app.py", line 2464, in __call__
return self.wsgi_app(environ, start_response)
File "/home/adiagarwal/cad/env/lib/python3.8/site-packages/flask/app.py", line 2450, in wsgi_app
response = self.handle_exception(e)
File "/home/adiagarwal/cad/env/lib/python3.8/site-packages/flask/app.py", line 1867, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/adiagarwal/cad/env/lib/python3.8/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/home/adiagarwal/cad/env/lib/python3.8/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/home/adiagarwal/cad/env/lib/python3.8/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/adiagarwal/cad/env/lib/python3.8/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/adiagarwal/cad/env/lib/python3.8/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/home/adiagarwal/cad/env/lib/python3.8/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/home/adiagarwal/cad/env/lib/python3.8/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/adiagarwal/cad/flaskapp-docker/flaskapp/app.py", line 129, in newProjectCreation
return {{e}}
TypeError: unhashable type: 'set'
我之前没有js方面的经验,我正在学习,如果可能,请简化回答
提前谢谢。好的,我关注的是一个大问题,但问题太简单了,我没有意识到:用
()
替换所有[]
。见下文
如果您[]
它假定为dict
,并且您正在重新跟踪列表或集合
@app.route('/newProjectCreation/', methods=['GET', 'POST'])
def newProjectCreation():
try:
if request.method == 'POST':
# Data Fetch from Models Form
name = request.form('modelName')
modelDescription = request.form('modelDescription')
inputType = request.form.getlist('inputType[]')
outputType = request.form.getlist('outputType[]')
model = request.files('model')
modelLanguage = request.form('modelLanguage')
您正试图在Python中使用
set
作为dict中的键。set
不能用作哈希值。那么,我应该怎么做呢?事实上,我不明白你的回答。请将完整错误分享到错误产生的确切位置。此外,请检查Python中的集合是什么,以及它们是否可hasable。根据此->:集合是不可哈希的,集合是可变的,它们是不可哈希的。您好,谢谢,我尝试了解决方案,但有一点变化:所有的[]
都不会被替换为()
它只是用于“inputType”和“outputType”字段这将被更改。但是现在在我获取文件输入的那一行(最后第二行)出现了另一个问题。请共享错误。没有人可以预测错误,因为您没有共享[MRC]()第二个错误-->请检查并提供建议。