Files
tech-blog/app/routes/admin/auth.py
hz4th_coder 503a9780b2 refactor: 拆分admin路由为模块化结构,端口改为16013
- 将 routes/admin.py (672行) 拆分为 routes/admin/ 包
- 按功能模块拆分:auth, dashboard, articles, categories, tags, settings, stats, upload, authors
- 端口从 16012 改为 16013
- 初始化数据库和管理员账户
2026-06-25 11:21:36 +08:00

32 lines
984 B
Python

"""认证相关路由:登录/登出"""
from flask import render_template, redirect, url_for, request, flash, session
from app.routes.admin import admin_bp
from app.services import AdminService
@admin_bp.route('/login', methods=['GET', 'POST'])
def login():
"""登录页面"""
if request.method == 'POST':
username = request.form.get('username')
password = request.form.get('password')
admin = AdminService.authenticate(username, password)
if admin:
session['admin_id'] = admin.id
session['admin_username'] = admin.username
flash('登录成功', 'success')
return redirect(url_for('admin.dashboard'))
else:
flash('用户名或密码错误', 'danger')
return render_template('admin/login.html')
@admin_bp.route('/logout')
def logout():
"""登出"""
session.clear()
flash('已退出登录', 'info')
return redirect(url_for('admin.login'))