DjangoUeditor+python3.8+Django3.1.0的配置及安装使用 |
您所在的位置:网站首页 › django富文本编辑器哪个好 › DjangoUeditor+python3.8+Django3.1.0的配置及安装使用 |
一、安装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 |