FLASK博客系列8——我也有后台管理

     上次我们学习了如何往数据库里插入数据,显示我们自己的文章。

    有些朋友可能会问,django有后台管理,插入不用这么麻烦,那flask有类似的吗?当然有,而且还挺多的。今天我们就用一个最常用的包来完成 flask-admin 。老样子,先把包装上 pip install flask-admin

    今天我们还得来整理下。新建一个config.py,这个文件存放一些配置参数。

import os
from flask_sqlalchemy import SQLAlchemy  # 导入扩展类
from flask import Flask


basedir = os.path.abspath(os.path.dirname(__file__))

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'blog.db')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['SECRET_KEY'] = "212f^&^$$%%&^^&^*&^^&*^ghffydu"

db = SQLAlchemy(app)  # 初始化扩展,传入程序实例 app

    没错,app创建以及数据库初始化我们都放在了这里。

    接着我们新建一个admin.py,这里就用来添加后台配置吧。代码整上。

from flask_admin import Admin
from config import app
admin = Admin(app, name='博客后台管理系统', template_mode='bootstrap3')  # 使用bootstrap3风格

    点击运行,打开地址 http://127.0.0.1:5000/admin 。可以看到,后台已经出现了。

    

FLASK博客系列8——我也有后台管理_第1张图片

    接着我们整合model到后台。

from config import app, db
from models import User, Article
from flask_admin.contrib.sqla import ModelView


admin.add_view(ModelView(User, db.session, name='用户管理'))
admin.add_view(ModelView(Article, db.session, name='文章管理'))

    再次打开后台,我们发现,这次多了2个选项卡 。我们点击文章管理,可以看到,上次我们添加的数据都展示出来了。

    

FLASK博客系列8——我也有后台管理_第2张图片

    可是字段名都是英文的,我们来让他更友好一点。修改admin.py。

    

from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView

from config import app, db
from models import User, Article


class UserModelView(ModelView):
    column_labels = {
        'name': '名字',
    }


class ArticleModelView(ModelView):
    column_labels = {
        'title': '文章标题',
        'content': '文章内容',
        'user': '作者'
    }


admin = Admin(app, name='博客后台管理系统', template_mode='bootstrap3')
admin.add_view(UserModelView(User, db.session, name='用户管理'))
admin.add_view(ArticleModelView(Article, db.session, name='文章管理'))

    再次打开,漂亮。这相当于django模型里设置verbose_name。

FLASK博客系列8——我也有后台管理_第3张图片

    我们来添加一篇文章,点击Create。

    

FLASK博客系列8——我也有后台管理_第4张图片

    然后点击Save,可以看到文章成功创建。

FLASK博客系列8——我也有后台管理_第5张图片

    我们打开首页,不错,更新成功。如果想修改或者删除文章,都可以在后台去操作了,是不是很方便呢?

    

FLASK博客系列8——我也有后台管理_第6张图片

    本次就到这里了,感谢大家,期待下一次吧。

    

你可能感兴趣的:(flask,数据库,oracle)