直接查询出所有文章的QuerySet然后按添加时间倒序排序,直接进入分页器。这样会没有置顶功能。
快速定制django后台
安装
pip install django-simpleui
使用
# settings.py中注册simpleui
INSTALLED_APPS = [
'simpleui', # 必须在第一个
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
'mdeditor',
]
执行 makemigrations
migrate
访问后台即可看到效果
后台输入框为富文本编辑器
安装
pip install django-mdeditor
使用
# settings.py中注册mdeditor
INSTALLED_APPS = [
'simpleui', # 必须在第一个
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
'mdeditor',
]
models.py中导入
from mdeditor.fields import MDTextField
表中子段
content = MDTextField(verbose_name='文章内容') # 富文本编辑框,要在models中注册mdeditor
访问即可
前段渲染Markdown文本编辑器
安装
pip install mistune
使用
view.py中模板渲染
class ArticleView(View):
def get(self, request, article_id=None):
article = models.Article.objects.get(pk=article_id)
article.viewed() # 增加阅读数
mk = mistune.Markdown()
output = mk(article.content)
# 文章分类
categories = models.Category.objects.all()
return render(request, 'datail.html', {'article': article, 'detail_html': output, 'categories': categories,})