问题
I am not sure what is wrong with my python code:
geneid=request.args.get('geneid')
sql=text('select * from INFO where name=:ident')
genes=engine.execute(sql,ident=geneid).fetchone()
params['objs']=genes
if len(genes)==0:
flash('NO RESULTS')
return render_template('info.html', **params)
The error message is: TypeError: object of type 'NoneType' has no len()
Any suggestion? I would like to show a flash message when there is no result in my query. I tried also (but did not work):
geneid=request.args.get('geneid')
sql=text('select * from INFO where name=:ident')
genes=engine.execute(sql,ident=geneid).fetchone()
params['objs']=genes
if no genes:
flash('NO RESULTS')
return render_template('info.html', **params)
回答1:
You are trying to get len(None)
. What you want is
if genes is None:
flash('NO RESULTS')
Note: Python does not have a no
keyword. The closest thing is the not operator.
来源:https://stackoverflow.com/questions/44187755/error-in-python-object-of-type-nonetype-has-no-len