码迷,mamicode.com
首页 > Web开发 > 详细

Flask web 开发新手遇到的坑

时间:2019-01-01 14:57:17      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:数据   ash   flask   学习   forms   代码   渲染   submit   提交   

在Flask的开发的学习过程中,我用的是李辉大神的狼书,在实际学习中遇到的以下坑,与各位分享:

1.flask 的 Submit 按钮提交后并不会跳转,仍然停留在原始输入界面,部分代码如下:

forms.py 表单函数

1 class RichTextForm(FlaskForm):
2     title = StringField(Title, validators=[DataRequired(), Length(1, 50)])
3     body = CKEditorField(Body, validators=[DataRequired()])
4     submit = SubmitField(Publish)

app.py 视图函数

1 @app.route(/ckeditor, methods=[GET, POST])
2 def integrate_ckeditor():
3     form = RichTextForm()
4     if form.validate_on_submit():
5         title = form.title.data
6         body = form.body.data
7         flash(your post is post)
8         return render_template(post.html, title=title, body=body)
9     return render_template(ckeditor.html, form=form)

渲染模版 ckeditor

{% block content %}
<h1>Integrate CKEditor with Flask-CKEditor</h1>
<form method="post">
    {{ form.csrf_token }}
    {{ form_filed(form.title) }}
    {{ form_filed(form.body) }}
    {{ form.submit }}
</form>
{% endblock %}

运行后的界面

技术分享图片

问题描述:

当输入内容点击Submit后,依然停留在此界面,即并不会跳转至‘post.html‘模版,说明是IF 语句出错,但

form.validate_on_submit 相当于 用户提交表单and数据通过验证 ,问题应该是数据通过验证这一块,排查其余代码无问题后,最终发现’ckedior.html‘中的语句
{{ form.csrf_token }} 出错,即CSRF令牌拼写错误,故无法通过验证,但程序并不会报错,对于初学者是比较大的坑,共勉!!

Flask web 开发新手遇到的坑

标签:数据   ash   flask   学习   forms   代码   渲染   submit   提交   

原文地址:https://www.cnblogs.com/dfdfg/p/10204719.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!