我有一个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描述字段中添加富文本格式?
考虑使用django-tinymce。 有了这个,您可以轻松地将TinyMCE富文本编辑器与您的文本区域集成。
另一种方法是在描述字段中添加一些html
<a href="yourlink.com">your link</a>
并使用安全标签在前端访问:
{{form.description | safe | linebreaks}}
务必先放置安全标签,否则将无效
我认识的派对迟到了,但我一直在使用的另一种选择是使用Wagtail管理员,特别是from wagtail.core.fields import RichTextField
。这为管理员提供了一个内置且非常好的Rich Text编辑器。
您可以创建基本的django模型并使用RichTextField作为模型的一部分,然后您可以使用Wagtail注册该模型,并且您可以使用内置的WYSWIG获得非常好的编辑界面。你可以在这里看到更多:https://docs.wagtail.io/en/v2.4/reference/contrib/modeladmin/index.html