如何在django管理员的编辑页面中添加“预览”按钮?

时间:2019-04-01 10:49:12

标签: django django-admin

经过长时间的搜索,我仍然找不到我可以应用的答案。

我在Django应用中有一个模型可以在网站上创建新页面:

class Page(models.Model):
    name = models.CharField(max_length=255, null=False, blank=False, unique=True)
    content = HTMLField('Content')
    slug = models.CharField(max_length=255)
    background_image = models.ImageField(
        upload_to="page_background/",
        null=False,
        blank=False,
        default="default/livresse_logo.png",
    )

您会看到其中有一个所见即所得的编辑器,一个标题和一个背景图片。

当我进入管理页面时,就像这样:

enter image description here

我正在寻找一种添加按钮“预览”(可能在“保存”按钮旁边)的方法,该按钮可以显示模板中包含的模型的内容,该模板将用于在保存之前显示页面。 我希望此按钮仅针对该模型显示。 希望我足够清楚。

1 个答案:

答案 0 :(得分:0)

我不确定是否有一个优雅的解决方案,但是您可以以不同的方式解决您的问题,在模型中实现Boolean参数is_published,并以尚未发表的文章的方式编写视图只有超级用户才能看到,所以我通常组织预览。