from django.contrib import admin from django.db import models class Article(models.Model): CATEGORY_CHOICES = [ ('professional', '专业介绍'), ('leader', '领导分工'), ('academic_leader', '学院学科建设带头人教师'), ('computer_science', '计算机系教师'), ('software_engineering', '软件工程系教师'), ('digital_media', '数字媒体技术系教师'), ('iot_networking', '物联网与网络工程系教师'), ('math_teaching', '数学教研室教师'), ('party_work', '党政学工队伍教师'), ('scientific', '教学科研'), ('party_dynamic', '党建动态'), ('youth_dynamic', '团学动态'), ('admissions', '招生'), ('employment', '就业'), ] title = models.CharField(max_length=200, verbose_name='标题') markdown_content = models.TextField(verbose_name='markdown内容') html_content = models.TextField(verbose_name='html内容',blank=True) created_at = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') updated_at = models.DateTimeField(auto_now=True, verbose_name='更新时间') category = models.CharField(max_length=50, choices=CATEGORY_CHOICES, verbose_name='文章分类') cover = models.URLField(verbose_name='封面',blank=True) class Meta: ordering = ['-created_at'] def __str__(self): return self.title class ArticleAdmin(admin.ModelAdmin): # 列表显示字段 list_display = ['title', 'category', 'created_at','updated_at'] # 列表页链接字段(可点击进入编辑) list_display_links = ['title'] # 侧边栏过滤器 list_filter = [ 'category', # 分类过滤器 ] # 搜索框 search_fields = ['title'] # 每页显示数量 list_per_page = 20 class Banner(models.Model): title = models.CharField(max_length=200, verbose_name='标题') url = models.URLField(verbose_name='链接') order = models.IntegerField(default=0, verbose_name='序号') class Meta: ordering = ['-order'] def __str__(self): return self.title