flask视频网站(权限控制)

  • 给管理员赋予角色,这里使用到关联查询和if判断超管
class AdminForm(FlaskForm):
    """管理员管理"""
    name = StringField(
        label='管理员名称',
        validators=[
            DataRequired("请输入管理员名称!")
        ],
        description="管理员",
        render_kw={
            "class": "form-control",
            "placeholder": "请输入管理员名称!"
        }
    )
    pwd = PasswordField(
        label="管理员密码",
        validators=[
            DataRequired("请设置管理员密码")
        ],
        description="管理员密码",
        render_kw={
            "class": "form-control",
            "placeholder": "请输入管理员密码"
        }
    )

    repwd = PasswordField(
        label="重复管理员密码",
        validators=[
            DataRequired("请重复管理员密码"),
            EqualTo('pwd', message="两次密码不一致!")
        ],
        description="重复管理员密码",
        render_kw={
            "class": "form-control",
            "placeholder": "请重复管理员密码"
        }
    )

    role_id = SelectField(
        label="角色列表",
        validators=[
            DataRequired("请选择角色")
        ],

        choices=[(v.id, v.name) for v in roles],
        description="角色列表",
        render_kw={
            "class": "form-control",
        }
    )

    is_super = SelectField(
        label="是否为超级管理员",
        validators=[
            DataRequired("0:是  1:不是")
        ],
        description="是否设置为超级管理员",
        coerce=int,
        choices=[v for v in (0,1)],
        render_kw={
            "class": "form-control",
            "id": "input_is_super_id"
        }
    )

    submit = SubmitField(
        label="编辑",
        render_kw={
            "class": "btn btn-primary"
        }
    )

@admin.route('/admin/list/', methods=["GET"])
@admin_login
def admin_list(page=None):
    if page is None:
        page = 1

    page_data = Admin.query.join(
        Role
    ).filter(
        Role.id == Admin.role_id
    ).order_by(
        Admin.addtime.desc()
    ).paginate(page=page, per_page=3)
    return render_template('admin/adminlist.html', page_data=page_data)

Original: https://blog.csdn.net/Roy_Allen/article/details/121666424
Author: Roy_Allen
Title: flask视频网站(权限控制)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/746297/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Python工具箱系列(十九)

    有了非对称密钥、摘要、对称密钥等现代密码学算法与技术,是不是就能够保证通信的安全无虞呢,并不是。 密码学在互联网应用的四个目标: 机密性、完整性、身份验证、防抵赖。到目前为止,我们…

    Python 2023年10月30日
    049
  • 聊一聊装饰者模式

    是你,还是你,一切都有你!—— 装饰者模式 一、概述 装饰者模式(Decorator Pattern)允许向一个现有的对象扩展新的功能,同时不改变其结构。主要解决直接继承下因功能的…

    Python 2023年10月14日
    037
  • 联邦学习中非独立同分布(No I.I.D.)几种情况

    好久没有发文章了,之前发了一篇个性化联邦综述的内容,但是自己也没完全太理解几种非独立同分布情况,这篇文章重新探究了一下几种情况的区别,希望对大家有所帮助。 目录 前言 Datase…

    Python 2023年9月29日
    046
  • PyCharm配置Anaconda虚拟环境及Conda常用命令介绍

    一、安装Anaconda: Anaconda:Python包管理器,是一个开源的Python发行版,包含了conda、Python等180多个科学包及其依赖项。官网:https:/…

    Python 2023年5月25日
    065
  • Matplotlib自定义图例(多张独立图共享图例)

    1、应用场景 可视化不同方法在各种超参数(或者不同数据集)的性能时,若用多个子图形式可视化,则图太小啦;若每个子图弄成单独的figure,则每个张图都有一个图例显得非常冗余,如图1…

    Python 2023年8月30日
    068
  • 详解视频中动作识别模型与代码实践

    摘要:本案例将为大家介绍视频动作识别领域的经典模型并进行代码实践。 本文分享自华为云社区《视频动作识别》,作者:HWCloudAI。实验目标 通过本案例的学习: 掌握 C3D 模型…

    Python 2023年10月29日
    039
  • 基于改进粒子群的柔性作业车间调度问题优化研究(Python代码实现)

    💥💥💞💞 欢迎来到本博客❤️❤️💥💥 🏆博主优势: 🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭:行百里者,半于九十。 目录💥1 概述📚2 运行结果🎉3 …

    Python 2023年8月23日
    059
  • pandas的基本函数

    实验目的熟练掌握pandas基本函数使用方法 实验原理 列转行方法stack函数:pandas.DataFrame.stack(self, level=-1, dropna=Tru…

    Python 2023年8月7日
    037
  • 一文过pandas入门(中篇)——才疏学浅的莫笑天

    本篇核心内容为数据清洗。 数据清洗 数据工作的步骤应该为: 数据获取 数据清洗 数据分析 数据可视化与建模 因此,上一篇博文中,本人说过,下一篇博文会讲一下数据分析中重要的一步 我…

    Python 2023年8月15日
    061
  • Django模板继承精讲

    Django模板继承精讲 1. 模板继承的概念 模板继承是 Django 模板语言中最强大的部分。模板继承使你可以构建基本的”骨架”模板,将通用的功能或者属…

    Python 2023年8月4日
    043
  • 一些pygame的小东西

    之前就有学过一部分的pygame,前段时间还想着能用这东西来帮别人做一个毕业设计来着,事情可以不了了之,学习永不停止。 因为毕设内容是一个跑酷游戏,所以找了个github代码直接拿…

    Python 2023年9月18日
    042
  • MySQL面试常问问题(锁 + 事务) —— 赶快收藏

    目录 1.MySQL中有哪几种锁,列举一下? 2.说说InnoDB里的行锁实现? 3.意向锁是什么知道吗? 4.MySQL的乐观锁和悲观锁了解吗? 5.MySQL 遇到过死锁问题吗…

    Python 2023年10月24日
    031
  • pytest学习和使用8-fixture如何实现teardown功能?(yield的使用)

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

    Python 2023年9月11日
    045
  • Django 之ModelAdmin对象(补)

    一、后台管理系统配置 1 在该表对应的models类里面添加一个Meta类 class Meta: verbose_name_plural = ‘用&…

    Python 2023年10月20日
    048
  • 【Python基础教程】类的定义和使用

    兄弟们,大家好,今天我们分享类的定义和用法。 [En] Hello, brothers, today we share the definition and use of clas…

    Python 2023年5月23日
    053
  • Python之matplotlib工具包使用入门——绘制简单图表

    matplotlib是Python中最常用的绘制图表的工具包,它提供一整套和MATLAB类似的绘图数据集,此外还有许多插件工具集,如绘制3D图形的mplot3,以及用于绘制地图的C…

    Python 2023年9月1日
    034
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球