update. 完成前端页面展示、列表和详情页
update. 调整融合主菜单与板块 update. 分离新闻模块
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Generated by Django 6.0.3 on 2026-03-24 10:31
|
||||
# Generated by Django 6.0.3 on 2026-04-01 00:55
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
@@ -16,29 +16,77 @@ class Migration(migrations.Migration):
|
||||
name='FooterLink',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('title', models.CharField(max_length=50, verbose_name='链接文字')),
|
||||
('url', models.URLField(verbose_name='链接地址')),
|
||||
('order', models.IntegerField(default=0, verbose_name='排序')),
|
||||
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
('title', models.CharField(max_length=50, verbose_name='页脚信息')),
|
||||
('address', models.CharField(max_length=200, verbose_name='单位地址')),
|
||||
('postal', models.CharField(default='', verbose_name='邮编')),
|
||||
('telephone', models.CharField(default='', verbose_name='服务热线')),
|
||||
('fax', models.CharField(default='', verbose_name='传真')),
|
||||
('unit', models.CharField(default='', verbose_name='版权单位')),
|
||||
('filing', models.CharField(default='', verbose_name='备案号')),
|
||||
('official_account', models.ImageField(default='', upload_to='carousel/', verbose_name='公众号二维码')),
|
||||
('weibo', models.ImageField(default='', upload_to='carousel/', verbose_name='微博二维码')),
|
||||
('is_active', models.BooleanField(default=False, verbose_name='生效')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '页脚链接',
|
||||
'verbose_name': '页脚信息',
|
||||
'verbose_name_plural': '页脚管理',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='LinkCategory',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
('name', models.CharField(max_length=50, unique=True, verbose_name='分类名称')),
|
||||
('code', models.SlugField(help_text="用于前端模板调用的标识,如 'gov', 'fire'", unique=True, verbose_name='分类代码')),
|
||||
('order', models.IntegerField(default=0, verbose_name='显示排序')),
|
||||
('is_active', models.BooleanField(default=True, verbose_name='是否启用')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '友链分类',
|
||||
'verbose_name_plural': '友链分类管理',
|
||||
'ordering': ['order'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='FriendLink',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
('name', models.CharField(max_length=100, verbose_name='网站名称')),
|
||||
('url', models.URLField(verbose_name='链接地址')),
|
||||
('order', models.IntegerField(default=0, verbose_name='排序')),
|
||||
('is_active', models.BooleanField(default=True, verbose_name='是否启用')),
|
||||
('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='links', to='base.linkcategory', verbose_name='所属分类')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '友情链接',
|
||||
'verbose_name_plural': '友情链接管理',
|
||||
'ordering': ['order', '-created_at'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='MainMenu',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('title', models.CharField(max_length=50, verbose_name='菜单标题')),
|
||||
('url', models.CharField(help_text='如 /news/ 或 外链 https://xxx', max_length=200, verbose_name='链接地址')),
|
||||
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
||||
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
||||
('title', models.CharField(max_length=100, verbose_name='标题')),
|
||||
('code', models.SlugField(help_text='用于URL或模板识别,建议英文', unique=True, verbose_name='唯一标识')),
|
||||
('url', models.CharField(blank=True, help_text='如 /menu/news.html 或 外链', max_length=200, verbose_name='链接地址')),
|
||||
('is_external', models.BooleanField(default=False, verbose_name='是否外链')),
|
||||
('order', models.IntegerField(default=0, verbose_name='排序')),
|
||||
('visible', models.BooleanField(default=True, verbose_name='是否显示')),
|
||||
('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='base.mainmenu', verbose_name='父菜单')),
|
||||
('order', models.PositiveSmallIntegerField(default=0, verbose_name='排序权重')),
|
||||
('visible', models.BooleanField(default=True, verbose_name='显示状态')),
|
||||
('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='base.mainmenu', verbose_name='父级节点')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '主菜单',
|
||||
'verbose_name_plural': '主菜单管理',
|
||||
'verbose_name': '站点导航/板块',
|
||||
'verbose_name_plural': '站点结构管理',
|
||||
'ordering': ('order', 'title'),
|
||||
},
|
||||
),
|
||||
]
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
# Generated by Django 6.0.3 on 2026-04-01 01:33
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('base', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='friendlink',
|
||||
options={'ordering': ['order', '-created_at'], 'verbose_name': '友情链接', 'verbose_name_plural': '友链管理'},
|
||||
),
|
||||
migrations.AlterModelOptions(
|
||||
name='linkcategory',
|
||||
options={'ordering': ['order'], 'verbose_name': '友链分类', 'verbose_name_plural': '友链分类'},
|
||||
),
|
||||
migrations.AlterModelOptions(
|
||||
name='mainmenu',
|
||||
options={'ordering': ('order', 'title'), 'verbose_name': '站点导航', 'verbose_name_plural': '站点导航'},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='mainmenu',
|
||||
name='is_carousel',
|
||||
field=models.BooleanField(default=False, verbose_name='轮播图'),
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user