0

假设这是一个博客模型:

class Blog(models.Model):
    title = models.CharField(max_length=200)
    pub_date = models.DateTimeField(default=datetime.now)
    creator = models.ForeignKey(User)
    content = BleachField()

这是另一个模型:

class Status(models.Model):
    content = BleachField()
    pub_date = models.DateTimeField(default=datetime.now)
    creator = models.ForeignKey(User)

如何覆盖 BleachField 以对不同的 Textarea 小部件使用不同的所见即所得编辑器?即,因为Status他们的意愿是不同的编辑,而Blog他们的意愿是另一个。或者是否可以首先使用不同的所见即所得编辑器,然后在模板中,使用漂白过滤器:

{% load bleach_tags %}

{{ some_unsafe_content|bleach }

任何帮助都感激不尽!谢谢你。

4

2 回答 2

0

您可以__init__在定义模型形式时覆盖方法吗?:

class BlogForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(BlogForm, self).__init__(*args, **kwargs)
        self.fields['content'].widget = forms.Textarea
于 2013-11-03T19:09:47.707 回答
0

我遇到了同样的问题。

起初我在创建自定义 char 字段时遇到了困难,但后来意识到我可以这样做,效果很好:

class BlondeCharField(models.CharField, BleachField):
   pass

BleachField 只需要覆盖pre_save...

于 2020-04-25T00:28:26.613 回答