liunx+python+django框架实现图片生成二维码
點擊箭頭處“藍色字”,免費領測試技術及面試資料!
余生皆歡喜
liunx+python+django框架實現二維碼生成器
首先我簡單的介紹下django;django官網解釋就是如下
Django是一個開放源代碼的Web應用框架,由Python寫成。采用了MVC的框架模式,即模型M,視圖V和控制器C。它最初是被開發來用于管理勞倫斯出版集團旗下的一些以新聞內容為主的網站的,即是CMS(內容管理系統)軟件。并于2005年7月在BSD許可證下發布。這套框架是以比利時的吉普賽爵士吉他手Django Reinhardt來命名的。
但是它在開發者得嘴里可有著python最美框架,“美男子”之稱;它是基于python最有代表性的web框架,
當我聽到這個時,覺得還比較吸引我,簡單學習了一下,如有不對之處還請各位大神糾正指出
介紹下django得特點:
功能完善、要素齊全:該有的、可以沒有的都有,自帶大量常用工具和框架,無須你自定義、組合、增刪及修改。
完善的文檔:經過十多年的發展和完善,Django有廣泛的實踐案例和完善的在線文檔。開發者遇到問題時可以搜索在線文檔尋求解決方案。
強大的數據庫訪問組件:Django的Model層自帶數據庫ORM組件,使得開發者無須學習其他數據庫訪問技術(SQL、pymysql、SQLALchemy等)。
靈活的URL映射:Django使用正則表達式管理URL映射,靈活性高。新版的2.0,進一步提高了URL編寫的優雅性。
豐富的Template模板語言:類似jinjia模板語言,不但原生功能豐富,還可以自定義模板標簽,并且與其ORM的用法非常相似。
自帶后臺管理系統admin:只需要通過簡單的幾行配置和代碼就可以實現一個完整的后臺數據管理控制平臺。
完整的錯誤信息提示:在開發調試過程中如果出現運行錯誤或者異常,Django可以提供非常完整的錯誤信息幫助定位問題。
好了簡單介紹之后我們來看看在linux中django如何實現將圖片生成一張二維碼~ 這里我們就直接跳過前端頁面上傳圖片的流程傳輸倒后臺再去生成圖片,我們簡單的看下,如果直接將一張圖片丟django項目中直接執行命令就可以生成一張帶二維碼得圖片;
上篇文章已經輸入如何搭建django服務,以及創建項目 創建應用,這里我們接著講,介紹下項目下的文件信息
startproject 命令創建一個目錄,包含4個文件:
文件如下:
__init__.py :讓 Python 把該目錄當成一個開發包 (即一組模塊)所需的文件。 這是一個空文件,一般你不需要修改它。
manage.py :一種命令行工具,允許你以多種方式與該 Django 項目進行交互。 鍵入python manage.py help,看一下它能做什么。 你應當不需要編輯這個文件;在這個目錄下生成它純是為了方便。
settings.py :該 Django 項目的設置或配置。 查看并理解這個文件中可用的設置類型及其默認值。
urls.py:Django項目的URL設置。 可視其為你的django網站的目錄。 目前,它是空的。
盡管這些的文件很小,但這些文件已經構成了一個可運行的Django應用。
在來介紹下項目下得應用app這里著重講下views文件
app/
?在django中views.py 文件可是說是項目的指揮中心,其實views.py文件的作用更像是我們之前提到的MVC模式中的“C”,也就是起到了項目控制的作用。這個文件沒有必須的位置和名稱,所有的文件使用views的時候都是通過import引用的,這就和你寫一個普通的python模塊一樣。但是通常情況向我們會把這個控制模塊以views.py為名稱放到每一個app文件夾中,其他功能的模塊文件取有一定意義的名字即可。由于有這種模塊引用的需求,所以在django工程下的每個目錄一般都會有__init__.py文件。
我們可以通過view對urls,模板,模型幾個部分起到的作用來描述下這個文件的功能
urls文件匹配對應的URL,查找指定的函數進行URL處理,而這個處理函數即包含在views文件中。
django中模板多樣的寫法使前端的展現更加靈活,而這往往需要后端控制函數傳遞大量數據。Views文件中的函數匹配了對應的URL后會決定使用哪個模板,傳遞什么樣的參數到模板
?數據交互是后端功能最為重要的一部分。Views文件引入模型模塊,可以進行數據過濾分析提取等數據庫操作功能。此外,views文件還能夠獲取前端的請求,得到表單數據進行比對分析插入數據庫等。
由于是前后端連接的橋梁,views在很大程度上還需要對安全性負責,有安全校驗的作用
我們之前說過除了基本的網站控制我們還會寫其他的“views”,都是邏輯及功能的補充,只是在命名上可以根據需求。比如驗證碼等功能可以單獨寫在一個文件中供其他文件調用。
簡單介紹了下項目 應用文件信息 接下來講講怎么實現 圖片生成二維碼
這里前提我們要先安裝下我們本次使用的模塊庫
pip3 install MyQR -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip3 install views -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip3 install app -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
首先我們安裝幾個必須的庫,因為我們這次用到的就是qrcode庫底層的myqr模塊實現生成二維碼
qrcode介紹地址:https://github.com/sylnsfar/qrcode/blob/master/README-cn.md
進入正題>>>
編寫views文件,主要實現文件,簡簡單單十幾行代碼,調用模塊>>myqr實現二維碼代碼(圖二)
備注下幾個主要字段
words字段:填寫圖片訪問的地址,例如http://www.baidu.com
picture字段:傳入要生成圖片的名稱,例如項目文件中有一張圖片
***.png.這里可以直接寫成?picture=‘***.png’
save_name:生成圖片的名稱 這里我們保持不變 賦值None
save_dir:保存的路徑(自定義)
編寫項目文件中得urls文件,配置路由
編寫項目文件中的settings.py文件設置下相關配置
簡簡單單實現如下幾處文件,基本都是需要用到的,
這里我們直接跳過前端上傳文件 ,之前我有篇文章已經寫過如果通過django實現前端頁面上傳文件,這里就不說了,直接看主要的,好了 ,我們可以開始生成了直接傳入一張圖片倒項目路徑 project
直接在當前路徑下執行命令
python3 myqr.py https://www.xuanwo001.com -p ./666.jpg
在ll一下查看是否生成666_qrcode.png ;這樣我們的一張帶二維碼得圖片就生成了。
具體操作命令以及圖片傳入傳出為什么那樣做參考這邊文檔
https://github.com/sylnsfar/qrcode/blob/master/README-cn.md
如果學習可以現在windows實踐,比linux簡單,很多庫無需安裝,pycharm自帶。大概了介紹下過程,實踐過程碰到問題,多百度解決方案,深度學習
簡單推薦下一款個性定值二維碼小程序,非常不錯,來試試吧!
做一個溫暖的公眾號
微信號:shichaogg
長按關注:城事十則,領取【自動化】【性能】【數據庫】【linux】【安全】【面試】等資料
The?birth?of?life?is?a?pleasant?surprise.Life?is?you.
生命是驚喜, 生活是你,點贊與轉發是中華人民傳統美德!
總結
以上是生活随笔為你收集整理的liunx+python+django框架实现图片生成二维码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 水果店文案:水果柿子文案高级感,水果柿子
- 下一篇: .NetCore生成海报+二维码(log