【发布时间】:2014-03-31 09:39:34
【问题描述】:
我有一个主页,其中包含几个不同的表单,其中一个是编辑个人资料表单。我正在使用 wtfforms 处理表单,并有一个名为 edit_profile.html 的子模板,它呈现原始表单和 edit_profile 视图函数返回的任何错误。我想做的是:
如果返回错误:在不影响页面其余部分的情况下呈现子模板 edit_profile.html。
目前有主页查看功能:
@app.route('/', methods=['GET','POST'])
def home():
cur = g.db.execute(some_select_statement)
data = cur.fetchall()
some_var = some_function(data)
ep_form = EditProfile()
return render_template('home.html', some_var=some_var, ep_form=ep_form)
然后是一个处理配置文件编辑的函数:
@app.route('/edit_profile', methods=['GET', 'POST'])
def edit_profile():
ep_form = EditProfile()
if ep_form.validate_on_submit():
# In here is the code that handles the new profile data
return render_template('edit_html', ep_form=ep_form)
在返回错误的那一刻,除了利用“some_var”进行渲染的页面之外,大部分页面都被返回。我知道我可以使用 Ajax 来呈现 WTF 错误值并保持页面的其余部分不变,但我想知道是否有一种方法可以只使用 Flask 和 Jinja。
【问题讨论】:
标签: flask jinja2 flask-wtforms