DjangoUeditor+python3.8+Django3.1.0的配置及安装使用

您所在的位置:网站首页 django富文本编辑器哪个好 DjangoUeditor+python3.8+Django3.1.0的配置及安装使用

DjangoUeditor+python3.8+Django3.1.0的配置及安装使用

2023-10-12 14:20| 来源: 网络整理| 查看: 265

一、安装DjangoUeditor

我们直接用命令行安装的DjangoUeditor是django2.0版本的,不适合我们,所以只能用zip安装

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

下载之后,我们将其解压,复制DjangoUeditor文件夹到项目的根目录下,他也是我们项目的一个应用模块。

创建models.py文件,后台使用富文本编辑器,所以我们要进行配置。

二、富文本编辑器的配置 2.1 到项目的settings.py中注册DjangoUeditor应用 INSTALLED_APPS = [ 'django.contrib.admin', .... .... # 注册富文本编辑器 'DjangoUeditor', ] 2.2 到项目的总路由urls.py 中添加DjangoUeditor的路由 urlpatterns = [ path('admin/', xadmin.site.urls), .... ... path('ueditor/', include('DjangoUeditor.urls')), ] 2.3 在models.py中进行模型的操作,建立一个表,其中“description”字段用到富文本编辑器 from DjangoUeditor.models import UEditorField from django.db import models # Create your models here. from django.utils import timezone class Mynew(models.Model): """添加新闻模块""" NEWS_TYPE = ( ('企业新闻', '企业新闻'), ('行业新闻', '行业新闻'), ('通知新闻', '通知新闻'), ) title = models.CharField(max_length=50, verbose_name='新闻标题') description = UEditorField(u'内容', default='', width=950, height=280, imagePath='news/images/', filePath='news/files/') newType = models.CharField(choices=NEWS_TYPE, max_length=50, verbose_name='新闻类型') publish_date = models.DateTimeField(max_length=20, default=timezone.now, verbose_name='发布时间') views = models.PositiveIntegerField(default=0, verbose_name='浏览量') def __str__(self): return self.title class Meta: ordering = ['-publish_date'] verbose_name = '新闻' verbose_name_plural = '新闻' 2.4 对模型进行后台的注册,我是用的是xadmin后台管理,好看又大方,如果你也想使用,可以去看我的另一篇文章,里面讲的很详细。 import xadmin from newsApp.models import Mynew class MynewAdmin(object): """注册newsApp后台""" style_fields = {'description': 'ueditor'} # 富文本编辑器的注册 xadmin.site.register(Mynew, MynewAdmin) 2.5 运行 python manage.py makemigrations 和 python manage.py migrate

这里可能会出错,但是不用怕,接下去我们就讲讲解决方案。

三、出错的解决方法

用富文本编辑DjangoUEditor,DjangoUEditor中关于six的引用会报错,摸索了一下发现:

1、Django3.0.3移除了six。

2. six可以单独安装:pip install six。另外,urllib 好像也独立出来了,引用时不需有前缀。

3. 安装完six之后,将DjangoUEditor中有关的引用路径修改一下。包括如下三个文件的修改。

(1)DjangoUEditor目录下的views.py文件中有如下行

from django.utils.six.moves.urllib.request import urlopen from django.utils.six.moves.urllib.parse import urljoin

改为:

from six.moves.urllib.request import urlopen from six.moves.urllib.parse import urljoin (2)widgets.py文件中有如下一行:

from django.utils.six import string_types   修改为: from six import string_types (3)urllib似乎已从six之中独立出来,故commands.py文件中的如下一行:

from django.utils.six.moves.urllib.parse import urljoin 改为: from urllib.parse import urljoin 以上三个文件中对six的引用路径个改后,Django3项目进入后台,富文本编辑能正常使用。

四、效果如下,很精美的后台和方便编辑

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3