11. Django 引入富文字編輯器KindEditor
開啟微信掃一掃,關注微信公眾號【資料與演算法聯盟】
轉載請註明出處:http://blog.csdn.net/gamer_gyt
博主微博:http://weibo.com/234654758
Github:https://github.com/thinkgamer
寫在前邊的話
一路走來,DJango也用了挺久了,自己也做了一些基於Django的小專案,具體可看github,但是Django預設的admin後臺編輯文字框實在是太醜了,而且單一,其實在很久之前就想寫這篇文章了,但是由於種種原因拖延到了現在,終於下定了決心來寫,現在時間是00:17。
KindEditor介紹
官網地址是:
目前最新版本是4.1.1,我現在做這個東西是用python3.5 ,django 1.10.4 ,三者之間完全相容
看一張效果圖吧:
使用過程
1:下載該檔案,解壓至相應的js檔案目錄
例如我的目錄是:
這裡我刪除了多餘的檔案,因為是python專案,其他的都用不到,所以選擇刪除,節省空間
2:settings.py和urls.py配置
在專案的settings.py 中設定MEDIA_ROOT 目錄
eg:
#檔案上傳配置
MEDIA_ROOT = os.path.join(BASE_DIR,’uploads’)
專案的根urls.py 配置
eg:
url(r'^admin/uploads/(?P<dir_name>[^/]+)$', upload_image, name='upload_image'),
url(r"^uploads/(?P<path>.*)$", views.static.serve, {"document_root": settings.MEDIA_ROOT, }),
3:編寫upload.py檔案
該檔案存放於專案的根目錄同名資料夾下,eg:
upload.py:主要是對上傳的圖片做一些限制
# -*- coding: utf-8 -*-
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):
##################
# kindeditor圖片上傳返回資料格式說明:
# {"error": 1, "message": "出錯資訊"}
# {"error": 0, "url": "圖片地址"}
##################
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):
today = dt.datetime.today()
dir_name = dir_name + '/%d/%d/' %(today.year,today.month)
if not os.path.exists(settings.MEDIA_ROOT):
os.makedirs(settings.MEDIA_ROOT)
return dir_name
# 圖片上傳
def image_upload(files, dir_name):
#允許上傳檔案型別
allow_suffix =['jpg', 'png', 'jpeg', 'gif', '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)
path=os.path.join(settings.MEDIA_ROOT, relative_path_file)
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}
4:config.js 配置
該配置檔案主要是對django admin後臺作用的,比如說我們現在有一個news的app,我們需要對該模組下的 news類的content加上富文字編輯器,這裡需要做兩步
第一:在news 的admin.py中加入
class Media:
js = (
'/static/js/kindeditor-4.1.10/kindeditor-min.js',
'/static/js/kindeditor-4.1.10/lang/zh_CN.js',
'/static/js/kindeditor-4.1.10/config.js',
)
第二:config.js 中配置
上邊說了我們是要對news的content加上富文字編輯器,那麼我們首先要定位到該文字框的name屬性,滑鼠右鍵檢視原始碼,如下紅線標示:
config.js 中加入:
//news
KindEditor.ready(function(K) {
K.create('textarea[name="new_content"]', {
width : "800px",
height : "500px",
uploadJson: '/admin/uploads/kindeditor',
});
});
至此,已經完成,如果你還有什麼不懂的,可以加我關注我的微信公眾號,進行提問,謝謝!
Over!
相關推薦
11. Django 引入富文字編輯器KindEditor
開啟微信掃一掃,關注微信公眾號【資料與演算法聯盟】 轉載請註明出處:http://blog.csdn.net/gamer_gyt 博主微博:http://weibo.com/234654758 Github:https://github.com/th
django引入富文字編輯器Markdown
一、引入編輯器: 1,編輯器樣式效果截圖: 2,引入檔案: https://github.com/qiwsir/DjangoPracticeProject/tree/master/mysite2/static 放入本地static目錄下。 3,html程式碼:
Django中富文字編輯器KindEditor的使用和圖片上傳
Blog中有文章Model,文章內容會包括各種格式的資料,比如:圖片、超連結、段落等。為了達到這個目的,我們可以使用富文字編輯器。我們有多重選擇來使用富文字編輯器,比如kindeditor、django-ckeditor、自定義ModelAdmin的媒體檔案。這樣就將kindeditor加上了富文字編輯器。4
[Python] Django學習筆記(4) -- Admin模組新增富文字編輯器kindeditor
django-admin中新增富文字編輯器的幾種方式:1. 使用第三方的庫,如django-ckeditor2. 在admin中定義富文字編輯器的widget3. 通過定義ModelAdmin的媒體檔案方法3步驟:1. 下載kindeditorhttp://kindedito
bbs專案引入富文字編輯器和處理xss攻擊和文章預覽
一、富文字編輯上傳文章和圖片 富文字編輯器我們使用kindeditor,我們首先去官網下載,然後解壓,放到我們的static的目錄中 然後我們在html中這樣使用富文字編輯器 <!DOCTYPE html> <html lang
富文字編輯器KindEditor的使用
富文字編輯器KindEditor,是一種可內嵌於瀏覽器,所見即所得的文字編輯器。它是一種解決可一般的使用者不同html等網頁標記但是需要在網頁上設定字型的顏色、大小、樣式等資訊問題一個文字編輯器 第一步 引入三個檔案(一個css,兩個js) &nbs
Django之富文字編輯器的使用,超級簡單~
前端顯示: Step1: pip3 install django-tinymce Step2: <script src="/static/tiny_mce/tiny_m
django框架富文字編輯器的使用方法
1. 在settings.py中配置如下 INSTALLED_APPS = ["tinymce"] TINYMCE_DEFAULT_CONFIG = { 'theme': 'advanced', 'width': 600, 'height': 40
Html編輯器,富文字編輯器KindEditor使用
介紹一個html編輯器,富文字編輯器,KindEditor,比較好用。 官網詳細教程:http://kindeditor.net/about.php 效果圖: 首先,下載kindeditor包。放到專案的JS外掛包中。 在html頁面定義一個textarea,
富文字編輯器 kindeditor的使用
引入js<script type="text/javascript" src="${pageContext.request.contextPath}/js/kindeditor-4.1.10/k
python 全棧開發,Day83(部落格系統子評論,後臺管理,富文字編輯器kindeditor,bs4模組)
一、子評論 必須點選回覆,才是子評論!否則是根評論點選回覆之後,定位到輸入框,同時加入@評論者的使用者名稱 定位輸入框 focus focus:獲取物件焦點觸發事件 先做樣式。點選回覆之後,定位到輸入框,加入被評論的使用者名稱 給回覆的a標籤加一個class=reply_btn,關
兩款富文字編輯器——Kindeditor+UEditor
菜菜君最近第一次使用富文字編輯器,折騰了半天才摸到了一點門道。先概括一下。kindeditor比UEditor的功能少,但是也算五臟俱全,基本的功能都有了。另外,UEditor的介面感覺更好看。但是,菜菜君覺得,UEditor用起來更復雜啊啊啊啊!至少,菜菜君現在還沒弄好.
nodejs express製作後臺引入富文字編輯器
需求 由於ueditor官方沒有nodejs後臺的版本,所以只有通過別的大神開發的版本使用了。故寫個教程,留作以後備用。 下載ueditor 引入ueditor 先在express的public資料夾內建立一個ueditor目錄,用於存放所有的解壓出
day70_淘淘商城專案_03_商品類目選擇 + 圖片上傳 + 圖片伺服器FastDFS + 富文字編輯器KindEditor + 新增商品_匠心筆記
淘淘商城專案_03 1、商品類目選擇 1.1、功能分析 1.1.1、資料庫表結構設計 1.1.2、前端頁面分析 1.2、服務層工程開發 1.2.1、Dao
vue--引入富文字編輯器
https://blog.csdn.net/div_ma/article/details/79536634 // 使用 https://blog.csdn.net/div_ma/article/details/79536634 // 配置 感謝分享https
django-tinymce django支援富文字編輯器
先展示一個呵呵: 流程大致如下: 2:解壓然後把tinymce放到你的meida目錄下,我放在media下的js資料夾裡(media和js如果沒有自己建立),結構下: 3:編輯urls.py,在urlpatterns中新增(r'^site_media/(?
django 新增富文字編輯器
新增富文字編輯器可以方便使用者寫入文字,對文字進行修改,新增圖片 視訊等等,可以讓你編輯的內容更加豐富在進行網頁中新增富文字編輯器,先下載一個編輯器軟體,我用的是UEditor百度富文字編輯器,先建立一個HTML檔案,tempalstes/blog/upload.html在以
富文字編輯器kindeditor 前臺獲取編輯內容 ,及後臺獲取內容
必須的js方法 KindEditor.ready(function(K) { editor = K.create('textarea[name="contents"]',options); })
富文字編輯器kindeditor的使用!快速掌握
廢話不多說,本篇主要是教你如何使用kindeditor的請看: 首先下載 地址:http://kindeditor.net/down.php 直接官方下載即可
web/easyui/ssm框架引用KindEditor富文字編輯器
web/easyui/ssm框架引用KindEditor富文字編輯器 KindEditor 是一套開源的線上HTML編輯器,主要用於讓使用者在網站上獲得所見即所得編輯效果,開發人員可以用 KindEditor 把傳統的多行文字輸入框(textarea)替換為視覺化的富文字輸入框。