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