refactor: 拆分admin路由为模块化结构,端口改为16013
- 将 routes/admin.py (672行) 拆分为 routes/admin/ 包 - 按功能模块拆分:auth, dashboard, articles, categories, tags, settings, stats, upload, authors - 端口从 16012 改为 16013 - 初始化数据库和管理员账户
This commit is contained in:
67
app/routes/admin/settings.py
Normal file
67
app/routes/admin/settings.py
Normal file
@@ -0,0 +1,67 @@
|
||||
"""网站设置路由"""
|
||||
from flask import render_template, redirect, url_for, request, flash
|
||||
from app.routes.admin import admin_bp, login_required
|
||||
from app.services import SiteConfigService, UploadService
|
||||
|
||||
|
||||
@admin_bp.route('/settings', methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def settings():
|
||||
"""网站设置"""
|
||||
if request.method == 'POST':
|
||||
# 处理图片上传
|
||||
promo_image_1 = request.form.get('promo_image_1', '')
|
||||
promo_image_2 = request.form.get('promo_image_2', '')
|
||||
promo_image_3 = request.form.get('promo_image_3', '')
|
||||
|
||||
# 上传图片1
|
||||
if 'promo_image_1_file' in request.files:
|
||||
file = request.files['promo_image_1_file']
|
||||
if file and file.filename:
|
||||
image, error = UploadService.upload_image(file)
|
||||
if image:
|
||||
promo_image_1 = UploadService.get_image_url(image.filename)
|
||||
|
||||
# 上传图片2
|
||||
if 'promo_image_2_file' in request.files:
|
||||
file = request.files['promo_image_2_file']
|
||||
if file and file.filename:
|
||||
image, error = UploadService.upload_image(file)
|
||||
if image:
|
||||
promo_image_2 = UploadService.get_image_url(image.filename)
|
||||
|
||||
# 上传图片3
|
||||
if 'promo_image_3_file' in request.files:
|
||||
file = request.files['promo_image_3_file']
|
||||
if file and file.filename:
|
||||
image, error = UploadService.upload_image(file)
|
||||
if image:
|
||||
promo_image_3 = UploadService.get_image_url(image.filename)
|
||||
|
||||
# 更新设置
|
||||
SiteConfigService.update(
|
||||
site_name=request.form.get('site_name', '技术博客'),
|
||||
site_subtitle=request.form.get('site_subtitle', ''),
|
||||
site_logo=request.form.get('site_logo', ''),
|
||||
site_keywords=request.form.get('site_keywords', ''),
|
||||
site_description=request.form.get('site_description', ''),
|
||||
footer_text=request.form.get('footer_text', ''),
|
||||
footer_copyright=request.form.get('footer_copyright', ''),
|
||||
footer_technology=request.form.get('footer_technology', ''),
|
||||
promo_image_1=promo_image_1,
|
||||
promo_image_1_title=request.form.get('promo_image_1_title', ''),
|
||||
promo_image_1_link=request.form.get('promo_image_1_link', ''),
|
||||
promo_image_2=promo_image_2,
|
||||
promo_image_2_title=request.form.get('promo_image_2_title', ''),
|
||||
promo_image_2_link=request.form.get('promo_image_2_link', ''),
|
||||
promo_image_3=promo_image_3,
|
||||
promo_image_3_title=request.form.get('promo_image_3_title', ''),
|
||||
contact_email=request.form.get('contact_email', ''),
|
||||
contact_github=request.form.get('contact_github', ''),
|
||||
articles_per_page=request.form.get('articles_per_page', 10, type=int),
|
||||
)
|
||||
flash('网站设置已更新', 'success')
|
||||
return redirect(url_for('admin.settings'))
|
||||
|
||||
config = SiteConfigService.get_config()
|
||||
return render_template('admin/settings.html', config=config)
|
||||
Reference in New Issue
Block a user