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-tinymce の使用を検討してください。
これにより、TinyMCEリッチテキストエディタをテキスト領域に簡単に統合できます。
別の方法は、説明フィールドにHTMLを追加することです。
<a href="yourlink.com">your link</a>
そして、セーフタグを使用してフロントエンドでアクセスできるようにします。
{{form.description | safe | linebreaks}}
安全タグを最初に配置してください。そうしないと機能しません。
私が知っているパーティーに遅れましたが、私が使用している別のオプションは、Wagtail管理者、具体的にはfrom wagtail.core.fields import RichTextField
を使用することです。これにより、管理者は組み込みの非常に優れたリッチテキストエディタを利用できます。
基本的なDjangoモデルを作成し、モデルの一部としてRichTextFieldを使用すると、そのモデルをWagtailに登録でき、組み込みのWYSWIGを備えた非常に優れた編集インターフェイスを取得できます。詳細はこちら: https://docs.wagtail.io/en/v2.4/reference/contrib/modeladmin/index.html