如何在Django Admin中实现富文本编辑器

2023-04-11 00:00:00 文本 编辑器 如何在

要在Django Admin中实现富文本编辑器,可以使用第三方插件django-ckeditor。

以下是详细步骤:

  1. 安装django-ckeditor插件:

在命令行中运行以下命令进行安装:

pip install django-ckeditor
  1. 在Django项目的settings.py文件中添加以下配置:
INSTALLED_APPS = [
    # ...
    'ckeditor',
    # ...
]

CKEDITOR_UPLOAD_PATH = 'uploads/'  # 设置上传图片的路径
CKEDITOR_JQUERY_URL = 'https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js'  # 设置jQuery的CDN地址
CKEDITOR_IMAGE_BACKEND = 'pillow'  # 设置图片的后端处理方式
  1. 在Django项目的urls.py文件中添加以下配置:
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
  1. 在需要使用富文本编辑器的Django模型中添加以下字段:
from django.db import models
from ckeditor.fields import RichTextField

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = RichTextField()
  1. 在Django Admin中使用富文本编辑器:

在Django模型的Admin类中添加以下代码:

from django.contrib import admin
from ckeditor.widgets import CKEditorWidget
from .models import Article

class ArticleAdmin(admin.ModelAdmin):
    formfield_overrides = {
        RichTextField: {'widget': CKEditorWidget}
    }

admin.site.register(Article, ArticleAdmin)

以上步骤完成后,在Django Admin中添加或修改Article对象时,content字段将会使用富文本编辑器进行输入和编辑。

以下是代码演示:

假设我们要在Django Admin中添加一个名为“富文本编辑器示例”的Article对象,其中content内容为“pidancode.com”:

  1. 进入Django Admin的Article页面,点击“Add Article”按钮。

  2. 在Title字段中输入“富文本编辑器示例”,在Content字段中使用富文本编辑器输入“pidancode.com”。

  3. 点击“Save”按钮保存Article对象。

  4. 在Django Admin中查看Article对象详细信息,可以看到content字段已经使用富文本编辑器显示了“pidancode.com”字符串。

相关文章