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 。可以看到,后台已经出现了。

    

    接着我们整合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个选项卡 。我们点击文章管理,可以看到,上次我们添加的数据都展示出来了。

    

    可是字段名都是英文的,我们来让他更友好一点。修改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。

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

    

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

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

    

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

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值