在DjangoAdmin中使用KindEditor(上传图片)
一、下载
http://kindeditor.net/down.php
删除asp、asp.net、php、jsp、examples文件夹
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。拷贝到static目录下
二、配置
kindeditor目录下新建conifg.js
KindEditor.ready(function(K) {
K.create('#id_content', {
width: '800px',
height: '500px',
uploadJson:'/upload_image',
});
//http://kindeditor.net/docs/option.html
});
admin.py
class NoticeAdmin(admin.ModelAdmin):
class Media:
js = [
'/static/plugins/kindeditor/kindeditor-all-min.js',
'/static/plugins/kindeditor/lang/zh-CN.js',
'/static/plugins/kindeditor/config.js'
]
admin.site.register(Notice, NoticeAdmin)
views.py
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def upload_image(request):
allow_suffix = ['jpg', 'png', 'jpeg', 'gif', 'bmp']
files = request.FILES.get("imgFile", None)
if files:
file_suffix = files.name.split(".")[-1]
if file_suffix not in allow_suffix:
return JsonResponse({"error": 1, "message": "图片格式不正确"})
file_name = str(uuid.uuid1()) + "." + file_suffix
file_path = os.path.join(settings.MEDIA_ROOT, 'image', file_name)
url_path = os.path.join(settings.MEDIA_URL, 'image', file_name)
print file_path
with open(file_path, 'wb') as f:
f.write(files.file.read())
return JsonResponse({"error": 0, "url": url_path})
settings.py
MEDIA_URL = "/upload/" MEDIA_ROOT = os.path.join(BASE_DIR, "upload")
urls.py
from django.views.static import serve
url(r'^upload/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT,}),
更多精彩

