Kamixitong/init_admin.py
2025-11-11 21:39:12 +08:00

51 lines
1.5 KiB
Python
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
"""
初始化管理员账户脚本
创建默认管理员用户 admin/admin123
"""
import os
import sys
from app import create_app, db
from app.models import Admin
def init_admin():
"""初始化管理员账户"""
app = create_app('default')
with app.app_context():
try:
# 检查是否已存在管理员用户
existing_admin = Admin.query.filter_by(username='admin').first()
if existing_admin:
print(f"✅ 管理员用户已存在: username={existing_admin.username}")
return False
# 创建默认管理员
admin = Admin(
username='admin',
email='admin@example.com',
role=1, # 1表示超级管理员
status=1
)
admin.set_password('admin123')
db.session.add(admin)
db.session.commit()
print("✅ 默认管理员创建成功!")
print(" 用户名: admin")
print(" 密码: admin123")
print(" 状态: 正常")
return True
except Exception as e:
print(f"❌ 创建管理员失败: {str(e)}")
db.session.rollback()
return False
if __name__ == '__main__':
success = init_admin()
if success:
print("✨ 请使用 admin/admin123 登录系统")
else:
print(" 如果已存在管理员用户则无需重复初始化")