Djangoでadminバックグラウンドにリッチテキストエディタを追加

1556 ワード

Djangoプロジェクトを開発するとき、例えばブログでは、バックグラウンドで文章を書く必要がありますが、普通のバックグラウンドで書いた文章をアップロードしてフロントエンドに表示するときはフォーマットがないことが多いので、リッチテキストエディタを追加することでこの問題を解決することができます.
ここで紹介するのはpython 3を使うことです.5+Django2.0.3+KindEditor 4.1.7
KindEditorって何?
KindEditorはオープンソースのオンラインHTMLエディタで、主にユーザーがウェブサイトで見ただけで得られる編集効果を得るために使用され、開発者はKindEditorで従来のマルチラインテキスト入力ボックス(textarea)を可視化されたリッチテキスト入力ボックスに置き換えることができます.KindEditorはJavaScriptで作成する、Java、.NET、PHP、ASPなどのプログラム統合は、CMS、ショッピングモール、フォーラム、ブログ、Wiki、電子メールなどのインターネットアプリケーションで使用するのに適しています.
はい、まずKindEditorをダウンロードします(公式サイトダウンロード)
ダウンロード後、これらの不要なファイルasp,aspを削除することができます.net,jsp,php.djangoではこれらは役に立たない.
その後、djangoルートディレクトリの下の/static/js/、フォルダの下にフォルダを導入します.
adminバックグラウンドで使用するには、KindEditorフォルダにconfigを追加する必要があります.jsファイル.jsファイルのコードは以下の通りです.
KindEditor.ready(function (k) {
    window.editor = k.create('#id_background',{  # id id, F12 
        resizeType:1,
        allowPreviewEmoticons : false,
        allowImageRemote : false,
        uploadJson : '/upload/kindeditor',  # url
        width:'800px',
        height:'400px',

    });
})
次はadminへ行きます.pyにモデルクラスを登録します.前はadminです.register.Site(モデル名)、今この注釈を外します
@admin.register(Poem)
class PoemAdmin(admin.ModelAdmin):
    class Media:
        js = (
            '/static/kindeditor/kindeditor-all.js',# js 
            '/static/kindeditor/lang/zh-CN.js',
            '/static/kindeditor/config.js',
        )

ここで、サービスを再起動し、adminバックグラウンドに行くと、元のテキストボックスの上に多くの要素が追加されていることがわかります.