当使用Tornado和WTForms时{{form.field}}显示&#34; <input name =“field”/>&#34;代替输入字段?

时间:2016-06-23 16:50:20

标签: python tornado wtforms

我在Python 2.7上使用Tornado以及wtforms_tornado和wtforms。 我已经使用WTForms在Flask中开发了一个Project。 我开始将这个项目从Flask改为Tornado,但此时陷入困境。

run.py

class SignupForm(Form):
    email=StringField('email',[
    validators.Required(message='Email Required'),
    ],)

class MainHandler(RequestHandler):
    def get(self):
        form=SignupForm()
        self.render('templates/home.html',form=form)

class SignupHandler(RequestHandler):
    def post(self):
        form=SignupForm(self.request.arguments)
        if form.validate():
            email=form.data['email']
            self.write(email)
        else:
            loader=template.Loader('templates/')
            self.write(loader.load('home.html').generate(form=form))

home.html的

<form  enctype='multipart/form-data' action='/signup' method='POST'>
    {{ form.email }}
<input type='submit' value='Sign Up' />
</form>

Output

1 个答案:

答案 0 :(得分:0)

您需要为模板的该部分停用Tornado's auto-escape feature

{% raw form.email %}