Django使用Ueditor

本文介绍如何在Django项目中集成Ueditor富文本编辑器,并提供了详细的步骤,包括安装、配置settings、配置urls及在models.py中的使用方法。

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

Ueditor是比较流行的富文本编辑器,如果不喜欢用markdown可以考虑使用。

注意:这俩玩意不兼容,换了Ueditor以后markdown语法就失效了。


安装

直接用pip安装的Ueditor是python2版本的,如果需要Python3版本就需要下载源码包

解压后在命令行中进入源码包,输入python setup.py install

配置settings

就是在INSTALLED_APPS添加’DjangoUeditor’即可

配置urls

在主urls.py中添加url(r'^ueditor/',include('DjangoUeditor.urls' ))

在models.py中使用

from DjangoUeditor.models import UEditorField

#创建文章模型
class Article(models.Model):
#models中所有的模型都是django.db.models.Model的子类
    #用来给文章状态提供选项的二元组
    STATUS_CHOICES = (
	    ('draft','草稿'),
		('published','已发布'),
		)

	#创建文章的标题、正文、创建时间、文章状态、分类等属性
    title = models.CharField('标题',max_length=20)
    **text = UEditorField('正文',)**

下面是后台添加文章的截图:

mark

1、首先我们先下载DjangoUeditor包。下载完成然后解压到项目根目录里。 DjangoUeditor.zip 2、settings.py里注册APP,在INSTALLED_APPS里添加'DjangoUeditor',。 myblog/settings.y INSTALLED_APPS = [ 'django.contrib.admin', .... 'DjangoUeditor', #注册APP应用 ] 3、myblog/urls.py里添加url。 myblog/urls.py ... from django.urls import path, include #留意上面这行比原来多了一个include urlpatterns = [ path('admin/', admin.site.urls), path('', views.hello), path('ueditor/', include('DjangoUeditor.urls')), #添加DjangoUeditor的URL ] 4、修改blog/models.py里需要使用富文本编辑器渲染的字段。这里面我们要修改的是Article表里的body字段。 把原来的: blog/models.py body = models.TextField() 修改成: blog/models.py from DjangoUeditor.models import UEditorField #头部增加这行代码导入UEditorField body = UEditorField('内容', width=800, height=500, toolbars="full", imagePath="upimg/", filePath="upfile/", upload_settings={"imageMaxSize": 1204000}, settings={}, command=None, blank=True ) 留意里面的imagePath="upimg/", filePath="upfile/" 这两个是图片和文件上传的路径,我们上传文件,会自动上传到项目根目录media文件夹下对应的upimg和upfile目录里,这个目录名可以自行定义。有的人问,为什么会上传到media目录里去呢?那是因为之前我们在基础配置文章里,设置了上传文件目录media。 上面步骤完成后,我们启动项目,进入文章发布页面。提示出错: render() got an unexpected keyword argument 'renderer' 错误页面上有提示,出错的地方是下面文件的93行。 F:\course\myblog\myblogvenv\lib\site-packages\django\forms\boundfield.py in as_widget, line 93 我这里使用的是最新版本的Django2.1.1所以报错,解决办法很简单。打开这个文件的93行,注释这行即可。 修改成之后,重新刷新页面,就可以看到我们的富文本编辑器正常显示。 留意,如果我们在富文本编辑器里,上传图片,在编辑器内容里不显示上传的图片。那我们还需要进行如下设置,打开myblog/urls.py文件,在里面输入如下代码: myblog/urls.py .... from django.urls import path, include, re_path #上面这行多加了一个re_path from django.views.static import serve #导入静态文件模块 from django.conf import settings #导入配置文件里的文件上传配置 urlpatterns = [ path('admin/', admin.site.urls), .... re_path('^media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT}),#增加此行 ] 设置好了之后,图片就会正常显示。这样我们就可以用DjangoUeditor富文本编辑器发布图文并茂的文章了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值