zoukankan      html  css  js  c++  java
  • Flask 拓展(flask-admin)

    # 下载安装包
    pip install Flask-BasicAuth pip install Flask-Babel pip install flask-admin

    1.  Flask-BasicAuth实现Authentication   #  登录认证

    Demo: 基础使用方式

    from flask import Flask
    from flask_basicauth import BasicAuth   # 登陆权限认证
    from flask_babelex import Babel         # 解析为中文
    
    app = Flask(__name__)
    
    app.config['BASIC_AUTH_USERNAME'] = 'admin'
    app.config['BASIC_AUTH_PASSWORD'] = '123456'
    
    app.config['BASIC_AUTH_FORCE'] = True  # 整个站点都验证
    
    babel = Babel(app)
    basic_auth = BasicAuth(app)
    
    
    @app.route('/')
    def index():
        return "hello world"
    
    if __name__ == '__main__':
        app.run()

    2.  扩展Flask-admin,基础搭建

    from flask_admin import Admin
    1. 初始化Admin 管理程序
    admin = Admin(app)
    
    2. 设置页面展示栏
    admin.add_view(MyV1(db.session,name = u'管理新闻'))
    或
    admin.add_view(WV(db.session, category='展示栏名称', endpoint='展示栏下/目录'))
    
    3. 展示页面信息
    from flask_admin import expose
    from flask_admin.contrib.sqla import ModelView
    class BView(ModelView):
        # 常用属性
        can_create = False    # 是否创建
        can_edit = True          # 是否编辑
        can_delete = False    # 是否删除
    
        # 转换字段名为中文
        column_labels = {"数据库字段名":"中文"}
        # 字段值int转化中文
        column_choices = {"数据库字段名":[(0, ""), (1, "")]}
        # 搜索条件
        column_searchable_list = ['数据库字段名']
        # 筛选条件
        column_filters = ['数据库字段名']
        # 列表页字段显示值
        column_list = ("数据库字段名")
        def __init__(self, session, **kwargs):
            super(类名, self).__init__(表名, session, **kwargs)
    
        # 视图
        @expose('/index/')
        def index(self):
            return self.render('index.html')

    3. 实践

    # 以项目的方式书写
    
    import os
    import sys
    
    BASE_DIR = os.path.dirname(os.path.abspath(__file__))
    sys.path.append(BASE_DIR)
    
    from flask import Flask, redirect
    from flask_admin import Admin
    from flask_babelex import Babel
    from flask_basicauth import BasicAuth
    
    app = Flask(__name__)
    app.config["SECRET_KEY"] = "key"
    app.config['BABEL_DEFAULT_LOCALE'] = 'zh_CN'
    app.config['BASIC_AUTH_USERNAME'] = 'username'
    app.config['BASIC_AUTH_PASSWORD'] = 'passwd'
    app.config['BASIC_AUTH_FORCE'] = True
    babel = Babel(app)
    basic_auth = BasicAuth(app)
    admin = Admin(app)
    
    admin.add_view(py文件名(session对象, category='导航栏名称', endpoint='下拉页注释))
    
    
    @app.route('/')
    def index():
        return redirect('/admin', code=302)
    
    
    if __name__ == '__main__':
        app.run()
    Code1
    from flask_admin import expose
    from flask_admin.contrib.sqla import ModelView
    
    class WenshuView(ModelView):
        can_create = False
        can_edit = True
        can_delete = True
        simple_list_pager = True
        # 转化中文
        column_labels = {'': ''}
        # 字段值转化
        column_choices = {'': ‘’, }
        # 搜索条件
        column_searchable_list = ['']
        # 筛选条件
        column_filters = ['']
    
        # 列表页字段显示值
        column_list = ('字段名', ''')
    
        def __init__(self, session, **kwargs):
            super(类名, self).__init__(表名, session, **kwargs)
    Code2
  • 相关阅读:
    CWMP开源代码研究6——libcwmp动态库开发
    CWMP开源代码研究5——CWMP程序设计思想
    CWMP开源代码研究4——认证流程
    CWMP开源代码研究2——easycwmp安装和学习
    CWMP开源代码研究3——ACS介绍
    CWMP开源代码研究1——开篇之作
    usb驱动开发之大结局
    usb驱动开发24之接口驱动
    usb驱动开发23之驱动生命线
    usb驱动开发22之驱动生命线
  • 原文地址:https://www.cnblogs.com/xinzaiyuan/p/14478613.html
Copyright © 2011-2022 走看看