Flask Admin 后台管理系统代码注释
导入需要的模块和类
from flask_admin import Admin,AdminIndexView from app import app from flask_admin.contrib.sqla import ModelView from flask import current_app,redirect,url_for,request from models import db,User,XinWen,PingLun
自定义 ModelView 类,用于处理用户访问权限
class MyModelView(ModelView): def inaccessible_callback(self, name, **kwargs): # 如果用户没有访问权限,重定向到登录页面 return redirect(url_for('login', next=request.url))
自定义用户管理页面
class MyUser(MyModelView): column_labels = dict( name='账号', email='邮箱', password='密码' ) column_searchable_list = ('name','email',)
自定义新闻管理页面
class MyXinWen(MyModelView): column_labels = dict( title='标题', media = '来源', url = '链接', top_time = '发布时间', content = '内容', xinwen_datetime = '写入时间', pinglun='关联评论表' ) column_searchable_list = ('title', 'media')
自定义评论管理页面
class MyPingLun(MyModelView): column_labels = dict( content = '评论内容', ) column_searchable_list = ('content', )
创建一个后台管理系统,使用 bootstrap3 模板,自定义基础模板和导航栏
admin = Admin(app=app, name='后台管理系统',template_mode='bootstrap3', base_template='admin/mybase.html',index_view=AdminIndexView( name='导航栏', template='admin/welcome.html', url='/admin' ))
添加用户管理页面
admin.add_view(MyUser(User, db.session,name='用户管理'))
添加新闻管理页面
admin.add_view(MyXinWen(XinWen, db.session,name='新闻管理'))
添加评论管理页面
admin.add_view(MyPingLun(PingLun, db.session,name='评论管理'))
如果当前文件为主程序,运行 Flask 应用程序
if name == 'main': app.run(debug=True)
原文地址: https://www.cveoy.top/t/topic/nfW8 著作权归作者所有。请勿转载和采集!