Flask-Admin - це розширення для Flask, яке дозволяє створювати адміністративні панелі для роботи з базами даних, включаючи SQLAlchemy. Нижче наведено приклад використання Flask-Admin для роботи з DBGrid та SQLAlchemy.
Спочатку встановіть Flask-Admin:
pip install flask-admin
Припустимо, у вас є наступні моделі SQLAlchemy:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class Author(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), nullable=False)
books = db.relationship(`Book`, backref=`author`, lazy=True)
class Book(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100), nullable=False)
author_id = db.Column(db.Integer, db.ForeignKey(`author.id`), nullable=False)
Тепер ви можете створити адміністративний інтерфейс за допомогою Flask-Admin:
from flask import Flask
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView
app = Flask(__name__)
app.config[`SQLALCHEMY_DATABASE_URI`] = `sqlite:///example.db`
app.config[`SECRET_KEY`] = `supersecretkey`
db.init_app(app)
admin = Admin(app, name=`My App`, template_mode=`bootstrap3`)
admin.add_view(ModelView(Author, db.session))
admin.add_view(ModelView(Book, db.session))
if __name__ == "__main__":
app.run()
Цей приклад показує, як створити простий адміністративний інтерфейс з Flask-Admin для роботи з моделями SQLAlchemy. Flask-Admin автоматично генерує форми для редагування та відображення даних на основі ваших моделей.
Тепер, коли запустите ваш додаток, ви зможете відкрити адміністративний інтерфейс у своєму браузері за адресою http://localhost:5000/admin/
.
Зверніть увагу, що Flask-Admin може бути налаштований для виконання різних операцій та редагування атрибутів моделі. Додаткову інформацію та приклади можна знайти в офіційній документації Flask-Admin: https://flask-admin.readthedocs.io/en/latest/