Django中使用富文本编辑器

博客介绍了富文本编辑器django-ckeditor的使用方法,包括安装django-ckeditor包、在项目settings.py中注册、在urls.py中添加路由、修改models.py字段、创建ModelForm、在模板中使用,以及上传文件时取消认证等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

富文本编辑器django-ckeditor

1.安装django-ckeditor包

pip install django-ckeditor

2.在项目settings.py中注册

INSTALLED_APPS = [
	'ckeditor',
	'ckeditor_uploader'
]

3.在项目的urls.py中添加路由

    url(r'^ckeditor/', include('app01.ckeditor_urls'))

4.将models.py中需要富文本编辑器的字段改为RichTextUploadingField

from ckeditor_uploader.fields import RichTextUploadingField
class ArticleDetail(models.Model):
    """
    文章详情表
    """
    content = RichTextUploadingField(verbose_name='文章详情')

5.创建ModelForm

class ArticleDetailForm(forms.ModelForm):

    class Meta:
        model = models.ArticleDetail
        fields = '__all__'

form_obj = ArticleDetailForm()        

6.模板中使用

{{ form_obj.content }}

# 引入静态文件
{% load static %}
    <script type="text/javascript" src="{% static "ckeditor/ckeditor-init.js" %}"></script>
    <script type="text/javascript" src="{% static "ckeditor/ckeditor/ckeditor.js" %}"></script>

7.上传文件需要取消认证

# 找到ckeditor的源码并复制到一个新的ckeditor_urls.py
'''源码路径为
ckeditor_upload
	/urls.py'''
# 将内容中的  staff_member_required 取消掉

# 原内容
urlpatterns = [
    url(r"^upload/", staff_member_required(views.upload), name="ckeditor_upload"),
    url(
        r"^browse/",
        never_cache(staff_member_required(views.browse)),
        name="ckeditor_browse",
    ),
]

# 改为
from __future__ import absolute_import
from django.conf.urls import url
from django.views.decorators.cache import never_cache
from ckeditor_uploader import views

urlpatterns = [
    url(r"^upload/", views.upload, name="ckeditor_upload"),
    url(
        r"^browse/",
        never_cache(views.browse),
        name="ckeditor_browse",
    ),
]


uploader.fields import RichTextUploadingField
class ArticleDetail(models.Model):
    """
    文章详情表
    """
    content = RichTextUploadingField(verbose_name='文章详情')

5.创建ModelForm

class ArticleDetailForm(forms.ModelForm):

    class Meta:
        model = models.ArticleDetail
        fields = '__all__'

form_obj = ArticleDetailForm()        

6.模板中使用

{{ form_obj.content }}

# 引入静态文件
{% load static %}
    <script type="text/javascript" src="{% static "ckeditor/ckeditor-init.js" %}"></script>
    <script type="text/javascript" src="{% static "ckeditor/ckeditor/ckeditor.js" %}"></script>

7.上传文件需要取消认证

# 找到ckeditor的源码并复制到一个新的ckeditor_urls.py
'''源码路径为
ckeditor_upload
	urls.py'''
# 将内容中的  staff_member_required 取消掉

# 原内容
urlpatterns = [
    url(r"^upload/", staff_member_required(views.upload), name="ckeditor_upload"),
    url(
        r"^browse/",
        never_cache(staff_member_required(views.browse)),
        name="ckeditor_browse",
    ),
]

# 改为
from __future__ import absolute_import
from django.conf.urls import url
from django.views.decorators.cache import never_cache
from ckeditor_uploader import views

urlpatterns = [
    url(r"^upload/", views.upload, name="ckeditor_upload"),
    url(
        r"^browse/",
        never_cache(views.browse),
        name="ckeditor_browse",
    ),
]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天意不可违.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值