Django admin配置django-ckeditor

對於內容管理系統而言,富文本編輯器是必不可少的功能組件,在Django自帶的管理後臺admin中,我們可以使用ckeditor,Django有相關的插件(django-ckeditor)可以幫助我們快速的配置完成並使用。

我在這裏舉一個小例子來完成django-ckeditor的安裝配置,在Django後臺admin中實現富文本編輯器的功能,包含圖片的上傳。

例子:數據庫中有一張存放用戶個人信息的數據表,其中有一個字段是用來描述用戶簡歷的,我們需要將簡歷的這個字段用富文本編輯器來編輯(用戶直接用富文本編輯器寫簡歷然後發佈到網上)。

數據表結構如下:

這是用來存放用戶信息的數據表結構,如果需要在admin中編輯用戶信息,還需要配置admin,由於這不是該篇博客的重點,我就直接貼出來:

這樣其實就可以在admin顯示基礎信息了,

但是我們現在需要將簡歷這個字段改成用富文本編輯器編輯,那麼我們接下來進行配置:

首先需要安裝django-ckeditor

pip install django-ckeditor==5.7.1

如果沒有指定版本號會默認安裝最新版本

安裝完成後再去配置settings.py文件中的INSTALLED_APPS,加入'ckeditor', 'ckeditor_uploader'

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'my_info',

    'ckeditor',
    'ckeditor_uploader',
]

然後再在settings.py文件中加入ckeditor的配置

# 配置CKEditor
CKEDITOR_CONFIGS = {
    'default': {
        'toolbar': 'full',  # 工具欄
        'height': 300,  # 高度,單位是px
        'width': 800,  # 寬度,單位是px
        'tabSpaces': 4,  # 左縮進
        'extraPlugins': 'codesnippet',  # 配置代碼插件
    },
}

還需在settings.py中配置

MEDIA_ROOT = os.path.join(BASE_DIR, 'static/media')

MEDIA_URL = '/media/'

CKEDITOR_UPLOAD_PATH = "my_info_images"

app下面的adminforms.py中

class MyInfoAdminForm(forms.ModelForm):
    resume = forms.CharField(widget=CKEditorUploadingWidget(), label='簡歷', required=False)

修改urls.py

urlpatterns = [
    path('admin/', admin.site.urls),

    path('ckeditor/', include('ckeditor_uploader.urls')),
]

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

配置完成後,啓動程序,進入admin,打開需要編輯的信息,就是這樣,嘿嘿

這時就可以用富文本編輯器編輯內容了,並且還可以上傳圖片。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章