flask-admin的demo版本

Flask-Admin是一个为Python的Flask框架服务的微型框架,可以像Django-Admin那样为用户生成Model层面的数据管理界面,接下来就一起来看一下Flask的图形化管理界面搭建框架Flask-Admin的使用教程

官网:https://flask-admin.readthedocs.io/en/latest/

自己闲来无事,写了一个demo版.实现了简单的CRUD功能+flask-login的登录功能,

网上的介绍五花八门,本文是从0-->1,适合首次学习的人.

不定期更新:细节介绍慢慢写(2021-03-25)

项目结构:

直接上代码:

1.models.py

介绍:

from mongoengine import *
from flask_admin.contrib.mongoengine import ModelView
from flask_login import UserMixin


# flask_login
class Users(UserMixin):
    def __init__(self):  # 最好从数据库获取,或使用加密方式获取,这里只简单示例
        self.id = 1
        self.username = 'Tom'
        self.password = '111111'

    def get_id(self):
        return self.id

    @staticmethod
    def get(user_id):
        """try to return user_id corresponding User object.
        This method is used by load_user callback function
        """
        if not user_id:
            return None
        try:
            if user_id == 'Tom':  # 最好从文件或数据库读取id(这里为简单写死了)
                return Users()
        except:
            return None
        return None



class User(Document):
    # required为True则必须赋予初始值
    email = StringField(required=True)
    first_name = StringField(max_length=50)
    last_name = StringField(max_length=50)
    meta = {'collection': 'tmp'}


class Post(Document):
    title = StringField(max_length=120, required=True)
    author = ReferenceField(User)
    meta = {'allow_inheritance': True}


class TextPost(Post):
    content = StringField()
    params = StringField()


class PostView(ModelView):
    column_list = ('id', 'params', 'content')
    column_labels = {
        'id': '主键',
        'params': '参数',
    }
    column_searchable_list = ['params', 'content']
    can_create = False
    can_edit = False
    can_delete = False
    can_view_details = False
    can_export = True
    export_types = ['csv', 'txt']
    page_size = 20
    can_set_page_size = True


class MenuView(ModelView):
    column_list = ('id', 'params', 'stat
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值