Django의 풍부한 텍스트 편집에 그림 추가
3432 단어 Django
위의 config.js:
KindEditor.ready(function(K) {
K.create('textarea[name=detail]',{
width:800,
height:200,
uploadJson: '/admin/upload/kindeditor'
});
});
마지막 줄은 URL 설정입니다. 즉 파일이 업로드될 때의 URL입니다.
다음 미디어 구성root
#Media_url
MEDIA_URL = 'static/images/uploads/'
MEDIA_ROOT = os.path.join(BASE_DIR,'images/upload/') # upload /
다음은 urls에 설정합니다.py에서 맵 설정
추가:
url(r'uploads/(?P.*)$',
'django.views.static.serve',
{'document_root':settings.MEDIA_ROOT,}),
url(r'^admin/upload/(?P[^/]+)$',
upload_image,name='upload_image'),
urlpatterns
다음view 설정은 다음 코드를views에 붙여넣고 urls로 가져옵니다
#coding:utf-8
#!/usr/bin/env python
from django.http import HttpResponse
from django.conf import settings
from django.views.decorators.csrf import csrf_exempt
import os
import uuid
import json
import datetime as dt
@csrf_exempt
def upload_image(request,dir_name):
result = {'error':1,'message':' '}
files = request.FILES.get('imgFile', None)
if files:
result = image_upload(files, dir_name)
return HttpResponse(json.dumps(result),
content_type='application/json')
#
def upload_generation_dir(dir_name):
# print dir_name, '----dir_name'
today = dt.datetime.today()
dir_name = dir_name+'/%d/%d/' %(today.year, today.month)
if not os.path.exists(settings.MEDIA_ROOT+dir_name):
os.makedirs(settings.MEDIA_ROOT+dir_name)
return dir_name
#
def image_upload(files, dir_name):
#
allow_suffix = ['jpg','png','jpeg','git','bmp']
file_suffix = files.name.split('.')[-1]
if file_suffix not in allow_suffix:
return {'error':1,'message':' '}
relative_path_file = upload_generation_dir(dir_name)
# print relative_path_file, '-----relative_path_file'
path = os.path.join(settings.MEDIA_ROOT,relative_path_file)
# print path, '----------path'
if not os.path.exists(path):
os.makedirs(path)
file_name = str(uuid.uuid1())+'.'+file_suffix
path_file = os.path.join(path,file_name)
file_url = settings.MEDIA_URL+relative_path_file+file_name
open(path_file,'wb').write(files.file.read())
return {'error':0,'url':file_url}
그림 추가 단추를 누르면 그림을 풍부한 텍스트 편집기에 추가할 수 있습니다
오류 처리:
csrf_token 오류
kindeditor에서.js에서 4155 줄에 추가하기;
// NEW CODE
var csrfitems = document.getElementsByName("csrfmiddlewaretoken");
var csrftoken = "";
if(csrfitems.length > 0)
{
csrftoken = csrfitems[0].value;
}
// END
됐습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django 라우팅 계층 URLconf 작용 및 원리 해석URL 구성(URLconf)은 Django가 지원하는 웹 사이트의 디렉토리와 같습니다.그것의 본질은 URL과 이 URL을 호출할 보기 함수 사이의 맵표입니다. 위의 예제에서는 URL의 값을 캡처하고 위치 매개 변수로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.