首页 > 其他 > 详细

flask实战-个人博客-视图函数

时间:2019-05-09 22:44:57      阅读:129      评论:0      收藏:0      [点我收藏+]
视图函数

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

 

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

 

#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。

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

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

 

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()

 

flask实战-个人博客-视图函数

原文:https://www.cnblogs.com/xiaxiaoxu/p/10841519.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!