--永恒的烦恼

django安装富文本编辑器

1.下载与安装

1.1 下载
下载地址:https://github.com/twz915/DjangoUeditor3

如果访问不了github就下载 我个人备份。备份东西可能比较多,DjangoUeditor3-master.zip这个压缩包就是富文本。

1.2 解压

1.3 安装

[shell]
python "C:\Users\pc\Desktop\课堂\python web\shiyaner\DjangoUeditor3-master\setup.py" install
[/shell]

解释:  python     解压富文本目录的setup.py      install

2.部署到项目中

2.1 将解压富文本目录的 DjangoUeditor 文件夹复制到你的项目app中,这里被当做一个app应用来使用

2.2 settings添加富文本应用

[python]
INSTALLED_APPS = [
# …
‘DjangoUeditor’, # 富文本应用
]
[/python]

注意大小写
在根目录app的urls.py文件设置路由

[python]
urlpatterns = [
# 其他应用路由
path(‘ueditor/’, include(‘DjangoUeditor.urls’)), # 富文本
]
[/python]

3.创建模型

3.1 app应用的数据库中注册富文本,以下是我个人做的,代码是复制别人的,注意要导入DjangoUeditor

[python]
from django.db import models
from DjangoUeditor.models import UEditorField
import django.utils.timezone as timezone

# Create your models here.
class MyNew(models.Model):
NEWS_CHOICES = (
(‘企业要闻’, ‘企业要闻’),
(‘行业新闻’, ‘行业新闻’),
(‘通知公告’, ‘通知公告’),
)
title = models.CharField(max_length=50, verbose_name=’新闻标题’)
description = UEditorField(u’内容’, default=”, width=1000, height=300, imagePath=’news/images/’, filePath=’news/files/’)
newType = models.CharField(choices=NEWS_CHOICES, max_length=50, verbose_name=’新闻类型’)
publishDate = models.DateTimeField(max_length=20, default=timezone.now(),verbose_name=’发布时间’)
views = models.PositiveSmallIntegerField(‘浏览量’, default=0)

def __str__(self):
return self.title

class Meta:
ordering = [‘-publishDate’]
verbose_name = "新闻"
verbose_name_plural = verbose_name
[/python]

3.2 数据同步,注意这里manage.py文件是自己的根文件

[shell]
python "C:\Users\pc\Desktop\课堂\python web\shiyaner\manage.py" makemigrations
python "C:\Users\pc\Desktop\课堂\python web\shiyaner\manage.py" migrate
[/shell]

4.后台引用

打开模型app的admin.py文件进行创建

[python]
from django.contrib import admin
from .models import MyNew

# Register your models here.
class MyNewAdmin(admin.ModelAdmin):
style_fields = {‘description’: ‘ueditor’}

admin.site.register(MyNew, MyNewAdmin)
[/python]

注意,如果在这一步出现报错,而且是提示这个

[shell]
TypeError:render() got an unexpected keyword argument ‘render’
[/shell]

是由于版本不兼容的问题,根据报错文件提示 boundfield.py 的行,注释掉renderer=self.form.renderer
这是别人说的,因为我个人没有遇到,占时不考虑,接下来就可以了。

赞(1) 打赏
转载请带上源站链接:玖伴一鹏 » django安装富文本编辑器

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏