給Django後台富文字編輯器新增上傳檔案的功能

2022-07-20 05:54:10 字數 1820 閱讀 3074

使用富文字編輯器上傳的檔案是要放到伺服器上的,所以這是乙個request。既然是乙個request,就需要urls.py進行**請求views.py進行處理。views.py處理完了返回乙個檔案所在的路徑給富文字編輯器,富文字編輯器通過html來渲染檔案,如果檔案是,就顯示。

#upload要麼為false 要麼為物件

upload:

需要返回的json格式:

@csrf_exempt #取消csrf驗證,否則會有403錯誤

def file_upload(request,dir_name):

files=request.files.get('upload_file') #得到檔案物件

today=datetime.datetime.today()

file_dir=settings.media_root+dir_name+'/%d/%d/%d/'%(today.year,today.month,today.day)

if not os.path.exists(file_dir):

os.makedirs(file_dir)

file_path=file_dir+files.name

open(file_path,'wb+').write(files.read()) #上傳檔案

#得到json格式的返回值

upload_info=

upload_info=json.dumps(upload_info)

為什麼需要再次配置urls.py呢?因為文字編輯器雖然返回了已經上傳的檔案的位址,但是要顯示在頁面上,實際上又是一次request。凡是request,都需要urls.py**給views.py進行處理。

#urls.py

from django.conf import settings

#django.views.static.serve是內建的,但是只能在開發中使用,生產環境中需要交給伺服器來處理,因為上傳的檔案已經屬於靜態檔案了。

urlpatterns+=[

url(r'^uploads/(?p.*)$',diango.views.static.serve,)

]

simditor採用的方法是利用ajax請求多次,有幾個檔案就請求幾次。

有沒有其他的方法呢?

django 富文字編輯器

1.安裝 pip install django tinymce 安裝完成後可以使用在admin管理中,也可以自定義表中 2.配置 tinymce 並在setting.py中新增編輯器配置 tinymce default config 在專案中urls.py中配置編輯器url urlpatterns ...

富文字編輯器

關於使用富文字編輯器的一些小坑 官網 1.專案 片 editor fail function xhr,editor,result custominsert function insertimg,result,editor this.editor.create this.editor.txt.html...

富文字編輯器

富文字編輯器,rich text editor,簡稱 rte,它提供類似於 microsoft word 的編輯功能。常用的富文字編輯器 kindeditor ueditor ckeditor 在頁面中新增js 用於初始化kindeditorallowfilemanager 是否允許瀏覽伺服器已上傳...