有事增加一篇文章,后台想看下效果怎么办呢, 没有预览功能是不是要跑到首页 夸夸夸的一步一步点进去,或者手动输入url才能访问,其实可以给后台增加个预览功能。
不说废话,用图说话:
再来个代码:
model.py
from django.urls import reverse
class Post(models.Model):
title = models.CharField(max_length=70, verbose_name='标题')
color = models.CharField(max_length=10, blank=True,verbose_name='标题颜色')
....
# 拼接url链接,为啥不直接写url, 就是为了方便修改,直接修改url.py文件,所有链接全部自动修改
def get_absolute_url(self):
return reverse('info', args=[self.pk])
# 输出成html格式
def get_view_url(self):
return format_html('<a href="{}" target="_blank">预览</a>', self.get_absolute_url())
get_view_url.short_description = '预览' # 这个就是给函数增加个名字,到时不显示英文字母,不懂的往上参考3片文章
admin.py
class CategorgAdmin(admin.ModelAdmin):
list_display = [...,'get_view_url']
这里有人可能会问,为啥不直接用get_absolute_url
呢,要写两个函数。后台写模板时你就知道了
发表评论