如何使用Flask-Admin实现后台管理界面

Flask-Admin实现后台管理

在Web应用程序中,后台管理是很重要的一部分,它可以用来管理用户信息、对数据库进行操作或者向用户发送通知。Flask-Admin是一个Flask拓展,它提供了一个易于扩展的后台管理系统,可以轻松管理数据、用户及其它一些内容。在本篇文章中,我们将深入介绍如何在Flask应用程序中使用Flask-Admin来实现后台管理界面。

1.前期准备

在使用 Flask-Admin 之前,你需要准备一些比较基础的操作:

一个 Python3 环境。

安装 Flask 及其众多扩展,比如 Flask-WTF、Flask-SQLAlchemy。

Flask-Admin 所需的依赖包。1

2.Flask-Admin 快速上手

在 Flask 中使用 Flask-Admin 是非常简单的。安装 Flask-Admin 然后创建一个 Flask-Admin 实例并与你的 Flask 应用程序集成即可。下面我们演示一个最小化的 Flask-Admin 应用程序示例。在这个例子中,我们将使用 Flask 和 Flask-Admin 建立一个最简单的后台管理系统,来管理我们的用户。

第一步是安装 Flask-Admin。我们使用 pip 来安装:

pip install flask-admin

安装 Flask-Admin 后,我们开始创建一个Flask应用程序。在此之前,我假设您已经熟悉 Flask 应用程序的创建过程。如果您还不熟悉 Flask 应用程序,则可以先阅读 Flask 官方文档并创建一个最简单的 Flask 应用程序。

现在,我们将创建一个名为 Flask-Admin-Example 的 Flask 应用程序,这个应用程序将演示如何使用 Flask-Admin 来管理我们的用户。下面是示例代码:

from flask import Flask

from flask_admin import Admin

app = Flask(__name__)

app.config['SECRET_KEY'] = 'mysecret'

admin = Admin(app, name='后台管理系统')

在上述代码中,我们随便给 Flask-Admin-Example 应用程序设置了一个密钥来保护它。接下来,我们实例化并初始化 Flask-Admin 组件,并将它直接与我们的 Flask 应用程序实例绑定在一起。运行这个程序并打开浏览器,访问http://127.0.0.1:5000/admin ,你将看到一个提示让你输入用户名和密码的登录界面。我们没有定义这个用户名和密码,因此我们需要在后面进行设置。

3.创建模型类及视图函数

在实际的应用程序中,我们不仅仅只需要登录功能,更为重要的是管理功能,我们需要定义模型类来将数据存储在数据库中。在本次示例中,我们用 UserModel 类来模拟一个用户。

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy(app)

class UserModel(db.Model):

__tablename__ = 'users'

id = db.Column(db.Integer, primary_key=True)

username = db.Column(db.String(255), nullable=True)

email = db.Column(db.String(255), nullable=True)

password = db.Column(db.String(255), nullable=False)

def __repr__(self):

return '<User %r>' % self.username

db.create_all()

在上述代码中,我们为用户定义了一个表,包含 id、username、email 和 password 四个字段。如果您没有使用 Flask-SQLAlchemy,则可能需要先安装它。

接下来,我们编写视图函数,实现增删改查的功能。这里我们以显示用户为例,编写一个视图函数 </admin/user> 来实现获取用户列表。

from flask_admin.contrib.sqla import ModelView

class UserView(ModelView):

column_exclude_list = ['password']

form_excluded_columns = ['password']

admin.add_view(UserView(UserModel, db.session))

在上述代码中,我们使用 Flask-Admin 的 ModelView 来为用户编写视图函数并启用用户管理。 ModelView 类可以通过传递一个模型类来为该类创建视图。你还可以根据需要设置其他选项,例如 column_exclude_list 和 form_excluded_columns。之后我们可以通过调用 UserView 来启动 User 视图。

4.启动程序与总结

现在,我们已经实现了一个简单的 Flask-Admin 应用程序。你可以在浏览器上访问 http://127.0.0.1:5000/admin /user 来查看用户列表。当然,您还可以使用增、删、改等其他操作。由于Flask-Admin拥有丰富的API,所以您可以用它来创建更为复杂的后台管理应用程序。

Flask-Admin 是一个非常适合初学者的后台管理插件,不论是数据表管理还是文件上传,都能轻松完成。希望这篇文章对您有所帮助。

后端开发标签