flask实战-我的博客-视图函数

视图函数

在上面咱们建立了全部必须的模型类、模板文件和表单类。通过程序规划和设计后,咱们能够建立大部分视图函数。这些视图函数暂时没有实现具体功能,仅渲染对应的模板,或是重定向到其余视图。以blog蓝本为例,以下所示:html

 

personalBlog/blueprints/blog.py: 建立视图函数flask

 

#encoding=utf-8

from flask import render_template, Blueprint

blog_bp = Blueint('blog', __name__)

@blog_bp.route('/')
def index():
    return render_template('blog/index.html')

@blog_bp.route('/about')
def about():
    return render_template('blog/about.html')

@blog_bp.route('/category/<int:category_id>')
def show_category(category_id):
    return render_template('blog/category.html')

@blog_bp.route('/post/<int:post_id>', methods = ['GET', 'POST'])
def show_post(post_id):
    return render_template('blog/post.html')

 

和blog蓝本相似,咱们在blueprints子包中建立了auth.py、admin.py脚本,这些脚本中分别建立了auth和admin蓝本,蓝本实例的名称分别为auth_bp和admin_bp。函数

除了视图函数外,咱们还要添加一些基本的组件,好比自定义命令、错误处理函数(包含40四、500以及新添加的400错误处理函数)、使用函数(包含redirect_back()和is_safe_url())等。post

personalBlog/forms.py: 增长SettingForm()表单ui

 

class SettingForm(FlaskForm):
    name = StringField('Name', validators = [DataRequired(), Length(1, 70)])
    blog_title = StringField('Blog Title', validators = [DataRequired(), Length(1, 60)])
    blog_sub_title = StringField('Blog Sub Title', validators = [DataRequired(), Length(1, 100)])
    about = CKEditorField('About Page', validators = [DataRequired()])
    submit = SubmitField()
相关文章
相关标签/搜索