欢迎访问宙启技术站
智能推送

Flask_AdminAdmin()模块详解:掌握创建管理后台的基本步骤

发布时间:2023-12-28 21:00:49

Flask-Admin是一个开源的Python库,用于在Flask应用程序中创建管理后台。它提供了一个简单而灵活的方式来管理和操作应用程序的数据模型。

下面是使用Flask-Admin创建管理后台的基本步骤:

1. 安装Flask-Admin

可以使用pip安装Flask-Admin库:pip install flask-admin

2. 导入所需的模块

在Flask应用程序的主文件中,需要导入一些模块来使用Flask-Admin功能:

   from flask_admin import Admin
   from flask_admin.contrib.sqla import ModelView
   

3. 创建Admin对象

需要创建一个Admin对象来初始化Flask-Admin扩展并关联到Flask应用程序上:

   admin = Admin(app, name='Admin', template_mode='bootstrap3')
   

这里的app是Flask应用程序的实例。

4. 创建数据模型类

首先,需要定义应用程序的数据模型类,可以使用SQLAlchemy库来定义数据库模型,例如:

   from flask_sqlalchemy import SQLAlchemy
   
   db = SQLAlchemy(app)
   
   class User(db.Model):
       id = db.Column(db.Integer, primary_key=True)
       username = db.Column(db.String(80), unique=True)
       email = db.Column(db.String(120), unique=True)
   
       def __repr__(self):
           return '<User %r>' % self.username
   

5. 创建ModelView对象

接下来,需要为每个数据模型类创建一个ModelView对象,用于在管理后台中显示和编辑数据:

   class UserView(ModelView):
       column_searchable_list = ['username', 'email']
   
   admin.add_view(UserView(User, db.session))
   

UserView类继承了ModelView类, 标识着User模型类可以在管理后台进行管理。

6. 运行应用程序

最后,可以通过运行Flask应用程序来启动Web服务器并访问管理后台:

   if __name__ == '__main__':
       app.run()
   

使用Flask-Admin创建管理后台的例子:

下面是一个简单的例子,演示如何使用Flask-Admin创建一个管理后台,并管理一个数据模型类:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.secret_key = 'secret_key'  # 设置secret_key以使用Flask-Admin的安全功能

db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(120), unique=True)

    def __repr__(self):
        return '<User %r>' % self.username

admin = Admin(app, name='Admin Panel', template_mode='bootstrap3')
admin.add_view(ModelView(User, db.session))

if __name__ == '__main__':
    app.run()

在这个例子中,我们创建了一个Flask应用程序,定义了一个User数据模型类,并创建了一个简单的管理后台来管理User模型类。可以通过访问/admin路径来打开管理后台,并进行用户的添加、编辑和删除操作。

总结:

使用Flask-Admin可以轻松地创建管理后台,只需几个简单的步骤即可完成。首先需要导入所需的模块,然后创建Admin对象并关联到Flask应用程序上。接下来,定义应用程序的数据模型类和ModelView对象,最后运行应用程序来启动Web服务器并访问管理后台。通过这些步骤,可以方便地管理和操作应用程序的数据模型。