21

我有一个 django 模型,其中包含一个description字段:

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 描述字段中添加富文本格式?

4

2 回答 2

8

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

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

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

{{form.description | safe | linebreaks}}

请务必先放置安全标签,否则将无法正常工作

于 2017-10-31T09:42:15.257 回答
1

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

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

于 2019-03-24T16:31:14.200 回答