从0开始使用python flask编写博客网站

Posted 即刻的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从0开始使用python flask编写博客网站相关的知识,希望对你有一定的参考价值。

好了上一篇文章中搭建好了完整的框架,以及可以访问一个“hello world”页面了。现在继续完善我们的博客程序。

1.如法炮制,继续完善error和admin的路由。

首先写把404和500的网页写好放到templates/errors中。然后在error的文件夹中新建handlers.py 文件,在这里写错误的路由

from flask import render_template
from app.errors import bp

@bp.app_errorhandler(404)
def not_found_error(error):
    return render_template("errors/404.html"), 404

@bp.app_errorhandler(500)
def internal_error(error):
    return render_template("errors/500.html"), 500

随后和主页面一样,在error的__init__.py文件导入蓝图和路由

from flask import Blueprint

bp = Blueprint("errors", __name__)

from app.errors import handlers

最后在creat_app()中绑定蓝图

    from app.errors import bp as errors_bp
    app.register_blueprint(errors_bp)

admin目录也同主页面目录一样的增加蓝图同时在creat_app()函数中绑定蓝图技术分享图片

2.设计数据库

一个博客需要记录什么数据呢?id要有个吧,还有标题,内容,文章的时间,阅读的次数。还有文章的标签。
首先在app目录下新建models.py

from app import db
from datetime import datetime

class Page(db.Model):
    _tablename_ = "pages"
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(20))
    body = db.Column(db.Text)
    timestamp = db.Column(db.DataTime, index=True, default=datetime.utcnow)
    view_num = db.Column(db.Integer, default=0)

    def __repr(self):
        return "<Page {}>".format(self.title)

其次在app/__init_.py文件中引入model文件

from app import models

最后迁移数据库
```
flask db init

flask db migrate

flask db upgrade
```
不出意外的话会新建一个page表。

##总结
使用orm可以轻易的换数据库而不需要改变代码。但是它对于复杂的查询与插入到底是提高效率还是降低效率呢。自动化程度高以后,对于数据库底层是否还有必要了解?







以上是关于从0开始使用python flask编写博客网站的主要内容,如果未能解决你的问题,请参考以下文章

使用Python+Flask开发博客项目,并实现内网穿透

使用Python+Flask开发博客项目,并实现内网穿透

最佳实践从 0 开始,用 flask+mongodb 打造分布式服务器监控平台

有Python基础后,3天就拿Flask开发项目系列博客之一

从0开始搭建个人博客网站

python web服务学习——flask