from django.db import models import markdown from mdeditor.fields import MDTextField # Create your models here. class ArticleTag(models.Model): id = models.AutoField(primary_key=True) tag = models.CharField(max_length=120) def __str__(self): return self.tag class Meta: verbose_name = "标签" verbose_name_plural = "标签管理" db_table = 'ArticleTag' class Articles(models.Model): title = models.CharField(max_length=100,verbose_name="文章标题") content_raw = MDTextField(verbose_name='文章内容', default='', config_name='default') content = models.TextField(verbose_name='呈现内容', null=True, blank=True, default='') abstract = models.TextField(verbose_name="文章摘要") author = models.TextField(default="admin", verbose_name="文章作者") created = models.DateTimeField(verbose_name="发布时间") stat = models.IntegerField(default=0,verbose_name="点赞数量") read = models.IntegerField(default=0,verbose_name="阅读数量") tag_id = models.ForeignKey(ArticleTag, on_delete=models.SET_NULL, null=True, blank=True, verbose_name="文章标签") def save(self, *args, **kwargs): # 将Markdown格式 转为html,页面上显示 self.content = markdown.markdown(self.content_raw, extensions=[ 'markdown.extensions.extra', 'markdown.extensions.codehilite', 'markdown.extensions.toc', ]) super(Articles, self).save(*args, **kwargs) class Meta: verbose_name = "文章" verbose_name_plural = "文章管理" db_table = "Articles" def __str__(self): return self.title class ArticlesLike(models.Model): articles_id = models.IntegerField(default=0,verbose_name="文章id") uuid = models.CharField(max_length=100,verbose_name="点赞用户标识") class Meta: verbose_name = "点赞" verbose_name_plural = "点赞管理" db_table = "ArticlesLike" def __str__(self): return self.uuid