WYSIWYG
8469 ワード
WYSIWYG?
WhatYouSeeIsWhatYouGetの略WYSIWYGは、「好きなように文章を書く」という意味で、文章を書くときに豊かさを増す機能です.
Medium Editor github: https://github.com/yabwe/medium-editor
使用方法
1.フォームで使用する編集可能なクラスを作成します.htmlに次のコードを記述します.
<script src="//cdn.jsdelivr.net/npm/medium-editor@latest/dist/js/medium-editor.min.js"></script>
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/medium-editor@latest/dist/css/medium-editor.min.css" type="text/css" media="screen" charset="utf-8">
<script>var editor = new MediumEditor('.editable');</script>
content = forms.CharField(widget=forms.Textarea(attrs={'class': 'editable text-start',
'style': 'heigth: auto;'}))
投稿を作成するときに適用するので、articip/formsのcontentフィールドに追加します.適用後、投稿を作成するとdetailsページに直接タグが表示されます.articleapp/detail.htmlで暴露されたコンテンツのコードを安全にフィルタリングします.
safeフィルタはタグなどのタグを削除してダウンロードし、コンテンツのみを表示します.
<div class="text-start">
{{ target_article.content | safe }}
</div>
同様に、updateでも同様に適用されるように変更することもできます.articleapp/update.htmlに次のコードを追加
<script src="//cdn.jsdelivr.net/npm/medium-editor@latest/dist/js/medium-editor.min.js"></script>
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/medium-editor@latest/dist/css/medium-editor.min.css" type="text/css" media="screen" charset="utf-8">
<script>var editor = new MediumEditor('.editable');</script>
パブリケーションの変更時にアイテムを設定する必要はありません
ForeginKeyを設定するフィールドはModelChoiceFieldです.
ModelChoiceFieldはモデル間の関係を表すフィールドで、querysetを記入する必要があります.
requiredを使用して存在しないように設定します.
project = forms.ModelChoiceField(queryset=Project.objects.all(), required=False)
Reference
この問題について(WYSIWYG), 我々は、より多くの情報をここで見つけました https://velog.io/@jusung-c/WYSIWYGテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol