Files
pear-admin-flask/templates/public/category.html
T
bwstudio b208087f74 feat(nav): 新增前台公开导航页与后台导航管理
新增模块
- Nav 模型(applications/models/admin_nav.py):公开导航表,与 admin_power 解耦
- NavOutSchema / NavManageSchema(applications/schemas/admin_nav.py)
- 前台公开视图 applications/view/public/nav.py:/site/、/site/category/<name>、/site/api/navs,无需登录
- 后台管理视图 applications/view/system/nav.py:CRUD + 启用/禁用,挂入 system_bp
- 前台模板 templates/public/{base,index,category}.html(独立配色,无需登录即可访问)
- 后台模板 templates/system/nav/{main,add,edit}.html(Layui table + form)

调整
- applications/view/__init__.py:注册前台蓝图到根
- applications/view/system/__init__.py:注册后台 nav 子蓝图
- applications/common/script/admin.py:admin init/export 支持 navs 数组
- applications/common/script/app_data/init.json:新增 10 条导航种子 + 4 条 system:nav 权限

数据库
- 新增 public_nav 表(含 category 索引)
- migration: 38751d88d42c_add_public_nav_table.py
2026-09-05 14:58:08 +08:00

36 lines
1.3 KiB
HTML

{% extends 'public/base.html' %}
{% block title %}{{ category }} - {{ site_name }}{% endblock %}
{% block content %}
<section class="section">
<div class="section-header">
<h2>{{ category }}</h2>
<div class="meta">
共 {{ items|length }} 个 ·
<a href="{{ url_for('public_nav.index') }}">← 返回首页</a>
</div>
</div>
{% if not items %}
<div class="empty">该分类下暂无导航。</div>
{% else %}
<div class="grid">
{% for item in items %}
<a class="card"
href="{{ item.url }}"
{% if item.is_external %}target="_blank" rel="noopener noreferrer"{% endif %}>
<div class="title-row">
<div class="icon-wrap">
<i class="layui-icon {{ item.icon }}"></i>
</div>
<div class="title">{{ item.title }}</div>
</div>
<div class="desc">{{ item.description or '暂无描述' }}</div>
<div class="url">{{ item.url }}</div>
</a>
{% endfor %}
</div>
{% endif %}
</section>
{% endblock %}