django admin 后台增加预览功能

作者 夜狼荼 2019年02月19日 10:02 阅读 1022

有事增加一篇文章,后台想看下效果怎么办呢, 没有预览功能是不是要跑到首页 夸夸夸的一步一步点进去,或者手动输入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呢,要写两个函数。后台写模板时你就知道了

发表评论

请先登录后再发表评论!