bbcode inpu的自定义Django管理表单

2024-10-02 18:23:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一个django网站,我想使用内置的管理界面来允许管理员编辑一些内容。所以他们不必学习任何html,我希望他们能够使用简单的bbcode标签格式化内容。在

我编写了一对函数来转换bbcode和html标记之间的关系。称它们为html2bbcode和bbcode2html。在

基本上,我需要以下几点:

  • 通过html2bbcode从数据库传递html,以便bbcode显示在管理编辑表单中。在
  • 把代码从bb2admin传递到bb2admin之前。在
  • 当内容真正成为网页的一部分时,能够以html的形式检索内容。在

我无法找到在将结果保存到数据库之前如何通过自定义函数从管理接口传递输入(反之亦然)。谁能给我指出正确的方向吗?在


Tags: django函数标记数据库编辑内容界面网站
1条回答
网友
1楼 · 发布于 2024-10-02 18:23:19

模型中可以有两个单独的字段-一个用于html,另一个用于bbcode。使html不显示在管理界面中(通过使用ModelAdmin类的exclude属性),以便管理员只查看和编辑bbcode字段。您可以通过重写模型的save方法获取html内容—将bbcode2html函数放在那里。大致如下:

def save(self, *args, **kwargs):
    self.html = bbcode2html(self.bbcode)
    super(MyModel, self).save(*args, **kwargs)

有关自定义管理界面的文档: https://docs.djangoproject.com/en/dev/ref/contrib/admin/

相关问题 更多 >