django23:BS4/kindeditor上傳圖片

BS4

Beautiful Soup,Beautiful Soup?是一個可以從HTML或XML文件中提取數據的Python庫.它能夠通過你喜歡的轉換器實現慣用的文檔導航,查找,修改文檔的方式。

安裝

pip3 install beautifulsoup4

使用

from bs4 import BeautifulSoup#html_doc為網頁內容
soup = BeautifulSoup(html_doc, 'html.parser')tags=soup.find_all()
#獲取所有標簽
for tag in tags:print(tag.name)#針對 scriptif tag.name='script'#刪除標簽tag.decompose()#過濾后的soup
content=str(soup)# 截取文本內容前150字符 .text表示文本
desc=soup.text[0:150]

note:

其實還是需要解析器的,但是這里用自帶的。如下:

pip install html5lib

解析器對比:

官方文檔

編輯器kindeditor

官方查看資料:http://kindeditor.net/docs/option.html#extrafileuploadparams

編輯器上傳圖片

1.網頁

 <script charset="utf-8" src="/static/kindeditor/kindeditor.js"></script><script>KindEditor.ready(function (K) {window.editor = K.create('#id_content',{width : '100%',height : '700px',resizeType: '1',uploadJson : '/upload_image/',extraFileUploadParams : {'csrfmiddlewaretoken':'{{ csrf_token }}'}});});</script>
uploadJson :設置圖片url,圖片往url發送,所以增加路由url處理
extraFileUploadParams : 額外參數,這里是post發送,所以需要發送校驗。

2.url.py

    # 編輯器上傳圖片借口re_path(r'^upload_image/',views.upload_image),

3.視圖層views.py

# 上傳圖片
import os
from BBS_Virtualenvs import settings
def upload_image(request):"""//成功時{"error" : 0,"url" : "http://www.example.com/path/to/file.ext"}//失敗時{"error" : 1,"message" : "錯誤信息"}:param request::return:"""back_dic = {'error': 0, }  # 先定義返回給編輯器的數據形式# 用戶上傳圖片 也算是靜態資源 應該放在防盜media文件夾下if request.method == 'POST':# 獲取用戶上傳圖片對象print(request.FILES) #打印查看鍵名字 imgFilefile_obj =request.FILES.get('imgFile')# 手動拼接存儲文件的路徑file_dir=os.path.join(settings.BASE_DIR,'media','article_img')# 優化操作 先判斷當前文件是否存在 如果不存在 自動創建if not os.path.isdir(file_dir):os.mkdir(file_dir) #創建目錄 article_imgfile_path=os.path.join(file_dir,file_obj.name)with open(file_path,'wb') as f:for line in file_obj:f.write(line)# 返回文件路徑名字 也需要手動拼接# 為什么不用file_path? /BBS_Virtualenvs/media 不能作為網頁連接,沒有暴露資源back_dic['url']='/media/article_img/%s'%file_obj.namereturn  JsonResponse(back_dic)

參考:https://www.cnblogs.com/Dominic-Ji/p/9637705.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/280482.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/280482.shtml
英文地址,請注明出處:http://en.pswp.cn/news/280482.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

設計模式——————觀察者模式

工廠模式分為簡單工廠&#xff0c;工廠和抽象工廠&#xff0c;三種工廠的實現是越來越復雜的。 觀察者模式 本質上就是一種訂閱/發布的模型&#xff0c;從邏輯上來說就是一對多的依賴關系。 什么意思呢&#xff1f;好比是一群守衛盯著一個囚犯&#xff0c;只要囚犯一有異動&…

SNMP簡介

SNMP簡介介紹SNMP的定義、目的、版本演進以及受益。 定義簡單網絡管理協議SNMP&#xff08;Simple Network Management Protocol&#xff09;是廣泛應用于TCP/IP網絡的網絡管理標準協議。SNMP提供了一種通過運行網絡管理軟件的中心計算機&#xff08;即網絡管理工作站&#xff…

詳解vue生命周期及每個階段適合進行的操作

VUE生命周期的四個階段 create 創建 -------- 創建vue實例并初始化mount 掛載 -------- 把vue實例和視圖進行關聯update 更新 ------- 監聽數據與視圖的變化destroy銷毀 ------- 銷毀實例生命周期 --- 鉤子函數 vue為上面的4個大的階段提供了一個可編程的接口&#xff0c;我們可…

.Net 7 新編譯器 ILC 簡析

楔子&#xff1a;這個新編譯器的全稱是ILCompiler。是之前CoreRT項目合并過來的&#xff0c;在.Net 7成熟&#xff0c;并且可以產業化應用。本質&#xff1a;ILC編譯器的本質除了構建CLR的所擁有的主要功能&#xff0c;還包含了對LLVM這種意圖取代GCC編譯器的操作&#xff0c;對…

mac 防止 下載 睡眠_如何暫時防止Mac進入睡眠狀態

mac 防止 下載 睡眠Let’s say you start a big download, then go to bed. When you wake up, you realize your Mac went to sleep before finishing its job. Isn’t there some way to stop this? 假設您開始進行大量下載&#xff0c;然后上床睡覺。 當您醒來時&#xff0…

ubuntu安裝chrome driver

首先下載Chrome Driver&#xff08;Firefox Driver的安裝與該步驟相同&#xff09; 鏈接&#xff1a; http://chromedriver.storage.googleapis.com/index.html 接下來在控制臺&#xff08;terminal&#xff09;上操作一下紅色字體的指令&#xff1a; Install Unzipsudo apt-ge…

深入理解Spring異常處理

宜信技術學院1.前言相信我們每個人在SpringMVC開發中&#xff0c;都遇到這樣的問題&#xff1a;當我們的代碼正常運行時&#xff0c;返回的數據是我們預期格式&#xff0c;比如json或xml形式&#xff0c;但是一旦出現了異常&#xff08;比如&#xff1a;NPE或者數組越界等等&am…

基于React開發范式的思考:寫在Lesx發布之際

例子&#xff1a;lesx-example webpack loader: lesx-loader 一些背景 現在前端框架已經呈現出React、Angular、Vue三足鼎立的局勢&#xff0c;對于三者的對比以及技術選型的思考與爭論也被討論了非常多&#xff0c;比如知乎上的這個問題&#xff1a;react.js,angular.js,vue.j…

mac共享單個磁盤_如何與您的所有設備共享酒店的單個Wi-Fi連接

mac共享單個磁盤Many hotels still limit you to one or two Wi-Fi devices per room–a frustrating limitation, especially when traveling with someone else. Connection restrictions can apply anywhere you have to log into a Wi-Fi network via a portal instead of …

Python FastApi:快速建立docker容器/掛載共享文件夾/導入導出

一、目的 a.快速把原有fastapi代碼部署到docker&#xff0c;讓docker在server運行。 b.不涉及docker深入設置。 c.使用python第三方lib少或簡單。 二、步驟 ps:請提前安裝docker 1.新建Dockerfile&#xff0c;放入到項目根目錄 a.Dockerfile沒有后綴. b.準備好requireme…

PHP-FPM 與 Nginx 的通信機制總結

PHP-FPM 介紹 CGI 協議與 FastCGI 協議 每種動態語言&#xff08; PHP,Python 等&#xff09;的代碼文件需要通過對應的解析器才能被服務器識別&#xff0c;而 CGI 協議就是用來使解釋器與服務器可以互相通信。PHP 文件在服務器上的解析需要用到 PHP 解釋器&#xff0c;再加上對…

Android——監聽事件總結

各種監聽事件 1.按鈕 Button&#xff08;1&#xff09;點擊監聽btn_1.setOnClickListener(new View.OnClickListener() { &#xff08;2&#xff09;長按監聽btn_1.setOnLongClickListener(new View.OnLongClickListener() { 2.單選框 RadioGroupradio_gp.setOnCheckedChangeLi…

ChatGPT 大智近妖,從宇宙人生到手搓光刻機,從哄女朋友到寫年終總結我們聊得非常開心,反而讓人越來越憂心...

都說 ChatGPT 要干掉程序員&#xff0c;清理搜索引擎&#xff0c;取代Stack Overflow&#xff0c;還能消滅人類&#xff0c;這些有些言過其實了。ChatGPT 的定位是一個人工智能助理&#xff0c;它說&#xff0c;它的主要目的是通過回答用戶的問題&#xff0c;為用戶提供幫助。在…

如何在Windows Defender中安排掃描

Windows Defender automatically performs background scans during your PC’s idle moments, but doesn’t include an easy way to schedule a full scan. There is a way to do it, though. Windows Defender在PC空閑時自動執行后臺掃描&#xff0c;但是沒有包括安排完整掃…

復習深入筆記02:魔法方法/cookie,session,token/異常

魔法方法 對象生成 1.先調用__new__方法&#xff0c;生成空對象。控制對象生成。 2.當執行“對象類名&#xff08;namelqz&#xff09;”&#xff0c;觸發類的__init__()

比特熊故事匯獨家 | .NET 感恩專場

點擊上方藍字關注我們&#xff08;本文閱讀時間&#xff1a;15分鐘)大家好&#xff01;我是愛吃、愛玩、更愛學習技術&#xff0c;IT界新晉小紅人&#xff0c;開發者的好朋友——比特熊&#xff01;比特熊&#xff1a;本期故事匯是.NET專場&#xff0c;今天一次性邀請到DOTNET領…

Ubuntu Core 給物聯網提供更多安全支持

開發四年只會寫業務代碼&#xff0c;分布式高并發都不會還做程序員&#xff1f; Canonical 是 Ubuntu 的一個桌面環境&#xff0c;該公司目前在云服務業務賺到了錢。因為 Ubuntu Core 為嵌入式設備帶來了 Ubuntu 18.04 長期支持(LTS)代碼庫。Ubuntu Core 的鏡像大小為 260MB&…

semantic ui要裝什么才能使用

作者&#xff1a;呆呆笨笨鏈接&#xff1a;https://www.zhihu.com/question/32233356/answer/196799506來源&#xff1a;知乎著作權歸作者所有。商業轉載請聯系作者獲得授權&#xff0c;非商業轉載請注明出處。本答案將以兩種方式講解如何從零開始使用 Semantic-UI&#xff0c;…

用戶帳戶控制設置_創建快捷方式以避免用戶帳戶控制彈出式快捷方式

用戶帳戶控制設置There are numerous applications which, when launched, result in a UAC (User Account Control) warning being displayed. There are reasons why this security measure is a good idea, but it can also be extremely irritating. ElevatedShortcut lets…