Files
ai-app-database/app/templates/admin/settings.html
T
huty f103148ebf feat: 初始化个人资料库 Web 应用
基于 Flask + MySQL + Bootstrap 5 的全栈个人资料库管理系统。

主要功能:
- 管理员/普通用户双角色权限体系,全站登录保护
- 资源管理:文本、图片、音频、视频四类资源
- 三种添加方式:本地上传(拖拽)、URL 后台下载、磁力下载(aria2c)
- 在线预览:文本、图片、HTML5 音视频播放器
- 安全:bcrypt 加盐密码哈希、CSRF 防护、SQLAlchemy ORM 防注入

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 00:16:59 +09:00

70 lines
2.9 KiB
HTML

{% extends 'base.html' %}
{% block title %}系统设置{% endblock %}
{% block breadcrumb %}
<ol class="breadcrumb mb-0">
<li class="breadcrumb-item"><a href="{{ url_for('admin.dashboard') }}">控制台</a></li>
<li class="breadcrumb-item active">系统设置</li>
</ol>
{% endblock %}
{% block content %}
<div class="row justify-content-center">
<div class="col-lg-7">
<div class="card shadow-sm">
<div class="card-header">
<h5 class="mb-0"><i class="bi bi-gear me-2"></i>系统设置</h5>
</div>
<div class="card-body p-4">
<form method="POST" novalidate>
{{ form.hidden_tag() }}
<h6 class="text-muted text-uppercase small mb-3">基本信息</h6>
<div class="mb-3">
<label class="form-label fw-medium">{{ form.site_name.label.text }}</label>
{{ form.site_name(class='form-control' + (' is-invalid' if form.site_name.errors else '')) }}
{% for e in form.site_name.errors %}<div class="invalid-feedback">{{ e }}</div>{% endfor %}
</div>
<div class="mb-4">
<label class="form-label fw-medium">{{ form.site_description.label.text }}</label>
{{ form.site_description(class='form-control', rows=2) }}
</div>
<hr>
<h6 class="text-muted text-uppercase small mb-3">用户与注册</h6>
<div class="mb-4 form-check form-switch">
{{ form.allow_register(class='form-check-input', role='switch') }}
<label class="form-check-label">{{ form.allow_register.label.text }}</label>
<div class="form-text">关闭后新用户无法自行注册,只能由管理员创建</div>
</div>
<hr>
<h6 class="text-muted text-uppercase small mb-3">上传与下载</h6>
<div class="mb-3">
<label class="form-label fw-medium">{{ form.max_upload_mb.label.text }}</label>
<div class="input-group" style="max-width:200px">
{{ form.max_upload_mb(class='form-control') }}
<span class="input-group-text">MB</span>
</div>
{% for e in form.max_upload_mb.errors %}<div class="text-danger small">{{ e }}</div>{% endfor %}
</div>
<div class="mb-3 form-check form-switch">
{{ form.enable_url_download(class='form-check-input', role='switch') }}
<label class="form-check-label">{{ form.enable_url_download.label.text }}</label>
</div>
<div class="mb-4 form-check form-switch">
{{ form.enable_magnet(class='form-check-input', role='switch') }}
<label class="form-check-label">{{ form.enable_magnet.label.text }}</label>
<div class="form-text">需要服务器安装 <code>aria2c</code></div>
</div>
<button type="submit" class="btn btn-primary">
<i class="bi bi-save me-1"></i>保存设置
</button>
</form>
</div>
</div>
</div>
</div>
{% endblock %}