富文本编辑器UEditor
UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码。
python后端代码
urls.py部分:
# 创建一个名为ueditor的app,然后在settings里将app注册进去,
from django.urls import path
from . import views
from django.conf import settings
app_name = 'ueditor'
urlpatterns = [
path("upload/",views.UploadView.as_view(),name='upload')
]
if hasattr(settings,"UEDITOR_UPLOAD_PATH"):
urlpatterns += [
path("f/<filename>",views.send_file,name='send_file')
]
views.py部分:
# views.py部分
#encoding: utf-8
import json
import re
import string
import time
import hashlib
import random
import base64
import sys
import os
from urllib import parse
from django.conf import settings
from django.http import JsonResponse
from django.shortcuts import reverse
from django.views.decorators.csrf import csrf_exempt
from django.http import FileResponse
from django.views.generic import View
from django.utils.decorators import method_decorator
from django.views.decorators.http import require_http_methods
# 更改工作目录。这么做的目的是七牛qiniu的sdk
# 在设置缓存路径的时候默认会设置到C:/Windows/System32下面
# 会造成没有权限创建。
os.chdir(os.path.dirname(__file__))
try:
import qiniu
except:
pass
from io import BytesIO
UEDITOR_QINIU_ACCESS_KEY = ""
UEDITOR_QINIU_SECRET_KEY = ""
UEDITOR_QINIU_BUCKET_NAME = ""
UEDITOR_QINIU_DOMAIN = ""
UEDITOR_UPLOAD_PATH = ""
UEDITOR_UPLOAD_TO_QINIU = False
UEDITOR_UPLOAD_TO_SERVER = False
# 用来判断是否要将文件上传到自己的服务器
try:
UEDITOR_UPLOAD_TO_SERVER = settings.UEDITOR_UPLOAD_TO_SERVER
if UEDITOR_UPLOAD_TO_SERVER:
UEDITOR_UPLOAD_PATH = settings.UEDITOR_UPLOAD_PATH
if not os.path.exists(UEDITOR_UPLOAD_PATH):
os.mkdir(UEDITOR_UPLOAD_PATH)
except:
pass
# 用来判断是否要将文件上传到七牛
try:
UEDITOR_UPLOAD_TO_QINIU = settings.UEDITOR_UPLOAD_TO_QINIU
except:
pass
# 如果既没有配置上传到本地,又没有配置上传到七牛,那么就抛出异常
if not UEDITOR_UPLOAD_PATH and not UEDITOR_UPLOAD_TO_QINIU:
raise RuntimeError("UEditor的UEDITOR_UPLOAD_TO_SERVER或者UEDITOR_UPLOAD_TO_QINIU必须配置一项!")
# 判断是否配置了conf