【问题标题】:How can i add a 'preview' button in the edit page of the django admin?如何在 django 管理员的编辑页面中添加“预览”按钮?
【发布时间】:2019-08-22 12:22:14
【问题描述】:

经过长时间的搜索,我仍然没有找到任何可以申请的答案。

我的 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",
    )

正如你所见,里面有一个所见即所得的编辑器,一个标题和一个背景图片。

当我进入管理页面时是这样的:

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

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

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

    【讨论】:

    • 其实如果是为了我,我会这样做,但这是一个特殊的需求,所以我暂时自己做管理员,只是为了这个功能,我没有任何其他想法,但这就是很多工作(我从 django 和 web dev 开始)。至少它有效。问题仍未解决。
    猜你喜欢
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    • 2019-03-13
    • 1970-01-01
    • 2015-03-27
    • 2015-09-08
    • 1970-01-01
    相关资源
    最近更新 更多