【问题标题】:Add rich text format functionality to django TextField将富文本格式功能添加到 django TextField
【发布时间】:2013-12-04 10:41:21
【问题描述】:

我有一个包含 description 字段的 django 模型:

class Product(models.Model):
    name = models.CharField(max_length="125")
    description = models.TextField()

class ProductForm(ModelForm):
    class Meta:
        model = Product
    def __init__(self, *args, **kwargs):
        super(ProductForm, self).__init__(*args, **kwargs)
        self.fields['description'].widget.attrs = { 'placeholder':'Description', 'rows':'10'}

我将其渲染如下

<html>
  <body>
     {{form.name}}
     {{form.description | linebreaks}}  
  </body>
</html>

所以使用上面的过滤器linebreaks,我能够以行格式获取数据,但现在我想在描述字段中提供一个 url(www.google.co.in),它应该是可点击的在前端product detail page

如何在前端的django描述字段中添加富文本格式?

【问题讨论】:

    标签: django text-formatting field-description


    【解决方案1】:

    我知道聚会迟到了,但我一直在使用的另一个选项是使用 Wagtail 管理员,特别是 from wagtail.core.fields import RichTextField。这为管理员提供了一个内置的非常好的富文本编辑器。

    您可以创建基本的 django 模型并将 RichTextField 用作模型的一部分,然后您可以使用 Wagtail 注册该模型,您将获得一个非常漂亮的带有内置 WYSWIG 的编辑界面。你可以在这里看到更多:https://docs.wagtail.io/en/v2.4/reference/contrib/modeladmin/index.html

    【讨论】:

      【解决方案2】:

      另一种方法是在描述字段中添加一些 html

      <a href="yourlink.com">your link</a> 
      

      并使用安全标签使其在前端可访问:

      {{form.description | safe | linebreaks}}
      

      一定要先放安全标签,否则不起作用

      【讨论】:

      猜你喜欢
      • 2019-05-07
      • 2018-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多