【发布时间】:2011-10-11 07:59:08
【问题描述】:
在我的 django 应用程序中,我们允许我们的客户自定义他们的网页。 为了做到这一点,我创建了一个模型来生成模板,它实际上工作正常。我的问题是我想在管理表单中添加一个预览链接。 这样,我可以执行“保存并继续编辑”来保存模板,如果需要,我可以在编辑页面时单击此链接进行预览。
我已经从列表显示中激活了预览,但我希望该字段直接显示在表单中。
def get_absolute_url(self):
return "preview/%i/" % self.id
def preview_template(self):
return '<a href="' + self.get_absolute_url() + '" target="_blank">Preview</a>'
preview_template.allow_tags = True
preview_template.short_description = 'Preview'
class BlockPageAdmin(admin.ModelAdmin):
list_display = ( ... 'preview_template',)
这是可行的,但有没有办法直接在更新表单中添加它?
更新
我按照这个问题的主要思想让它工作了:Adding an extra button to one object in django admin
我终于在模型的管理配置中添加了 javascript 文件,并编写了一个 javascript 函数来生成预览对象的 url。我必须写一个视图来显示我希望的预览。与帖子上的解决方案不同的是,我做了一个按钮而不是提交输入,加上我的 javascript 打开了预览页面的弹出窗口。因此,您仍然停留在管理界面中,您可以在预览更改的同时根据需要更新模型。
谢谢!
【问题讨论】:
标签: python django django-admin