《flask web开发》第四章案例如何运行?

小弟目前看到第四章第二节,以下书中代码:

from flask.ext.wtf import Form
from wtforms import StringField, SubmitField
from wtforms.validators import Required

class NameForm(Form):
    name=StringField("what is your name?", validators=[Required()])
    submit=SubmitField("Submit")

我想在本地环境运行此段代码在浏览器中进行测试。

from flask import Flask
from flask.ext.wtf import Form
from wtforms import StringField, SubmitField
from wtforms.validators import Required

app = Flask(__name__)

@app.route('/')
def index():
    name=StringField("what is your name?", validators=[Required()])
    submit=SubmitField("Submit")
    return name

if __name__ == '__main__':
    app.run(debug=True)

现在的问题是定义的函数如何设置返回值?
还是说此段代码无法单独运行(并在浏览器中看到)?

阅读 2.9k
1 个回答

楼主想问的是,设置表单以后提交,如何得到正确的反馈吧?
你的第一大段代码是设置了一个表单的Class
你的第二大段代码是设置了路由功能
但是你的路由功能里面并没有应用到这个表单

@app.route('/', methods=['GET', 'POST'])
def index():
name = None
form = NameForm()
if form.validate_on_submit():
name = form.name.data
form.name.data = ''
return render_template('index.html', form=form, name=name)

首先你需要把你的表单form用进路由函数里面
然后,你return的时候,要通过模板来进行渲染
建议楼主回过头去仔细看下第3章,或者起码再看下第4章里面的HTML渲染

另外也可以参考下我的博客里面的笔记,希望有用
http://blog.csdn.net/bestallen

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进