出于某种原因,WTForms以unicode格式而不是普通格式获取信息 . 用于工作的代码比重新启动它时破坏了 .
The error in flask view:
TypeError TypeError:'unicode'对象不可调用
The error in console:
Traceback(最近一次调用最后一次):文件“/Library/Python/2.7/site-packages/flask/app.py”,第1836行,在调用中返回self.wsgi_app(environ,start_response)文件“/ Library / Python / 2.7 / site-packages / flask / app.py“,第1820行,在wsgi_app response = self.make_response(self.handle_exception(e))文件”/Library/Python/2.7/site-packages/flask/app.py“ ,第1403行,在handle_exception中重新加载(exc_type,exc_value,tb)文件“/Library/Python/2.7/site-packages/flask/app.py”,第1817行,在wsgi_app response = self.full_dispatch_request()文件“/ Library /Python/2.7/site-packages/flask/app.py“,第1477行,在full_dispatch_request中rv = self.handle_user_exception(e)文件”/Library/Python/2.7/site-packages/flask/app.py“,行1381,在handle_user_exception中重新加载(exc_type,exc_value,tb)文件“/Library/Python/2.7/site-packages/flask/app.py”,第1475行,在full_dispatch_request中rv = self.dispatch_request()文件“/ Library / Python /2.7/site-packages/flask/app.py“,第1461行,在dispatch_request中返回self.view _functionsrule.endpoint文件“/Users/marcellobachechi/Desktop/RMP/server.py”,第72行,在hello user = form.song.data()中TypeError:'unicode'对象不可调用
The code is:
class PickASong(Form):
song = TextField(u'Song title', validators=[DataRequired()])
form = PickASong(csrf_enabled=False)
if form.validate_on_submit():
user = form.song.data()
The HTML :
<form action="" method="post" name="login">
<p>
{{ form.song(size=20) }}
<input type="submit" value="Search!"></p></p>
{{ form.song(size=20) }}
</form>
1 回答
只需删除
form.song.data
之后的括号,因为它已经是Unicode字符串 .