magic-dash:純 Python 玩轉(zhuǎn)全棧應(yīng)用開發(fā)
一、簡(jiǎn)介
大家好我是費(fèi)老師,隨著Python生態(tài)的持續(xù)發(fā)展,完全使用Python搞定完整應(yīng)用的開發(fā),變得越來(lái)越強(qiáng)大且高效。
本文要介紹的開源Python項(xiàng)目magic-dash,就提供了一系列開箱即用、功能完善的Python全棧應(yīng)用開發(fā)模板,在這些項(xiàng)目模板中,從后端服務(wù)到前端頁(yè)面功能等各種邏輯,均使用Python編寫構(gòu)建,在此基礎(chǔ)上進(jìn)行二次開發(fā),實(shí)現(xiàn)各種應(yīng)用功能非常的方便快捷。
下面我們就一起來(lái)get如何基于magic-dash完成應(yīng)用的快速構(gòu)建。
二、magic-dash:純Python玩轉(zhuǎn)全棧應(yīng)用開發(fā)
1. 安裝magic-dash
magic-dash的安裝非常的簡(jiǎn)單,終端執(zhí)行下列命令,即可在當(dāng)前Python環(huán)境下完成最新版本的安裝(推薦使用3.8到3.12版本的Python):
pip install magic-dash -U
查看magic-dash版本(本文寫作時(shí)magic-dash最新版本為0.3.1):
2. magic-dash的基礎(chǔ)使用
magic-dash的核心用法是作為命令行工具,來(lái)幫助我們快捷創(chuàng)建不同類型的應(yīng)用項(xiàng)目,執(zhí)行下面的命令可以查看目前magic-dash中內(nèi)置的全部應(yīng)用模板:
magic-dash list
以其中的magic-dash-pro項(xiàng)目模板為例,在合適的工作目錄下,終端執(zhí)行下列命令即可快速生成項(xiàng)目,其中--name參數(shù)就指定了模板名稱:
magic-dash create --name magic-dash-pro
在當(dāng)前工作目錄中即可看到創(chuàng)建好的項(xiàng)目工程,這里我們?cè)趧?chuàng)建時(shí)沒有設(shè)置項(xiàng)目名稱,因此文件夾名稱為默認(rèn)的模板名稱:
在已激活的Python環(huán)境下,終端cd到該工程根目錄,然后先執(zhí)行下列命令完成項(xiàng)目依賴庫(kù)的安裝:
pip install -r requirements.txt
完成項(xiàng)目依賴的安裝后,由于我們目前演示的是具有用戶登陸功能的magic-dash-pro模板,因此在啟動(dòng)應(yīng)用之前,還需要初始化數(shù)據(jù)庫(kù),執(zhí)行下列命令即可,默認(rèn)使用內(nèi)置的sqlite數(shù)據(jù)庫(kù)做演示:
python -m models.init_db
接著就可以直接啟動(dòng)應(yīng)用了??,終端執(zhí)行python app.py即可啟動(dòng)應(yīng)用的開發(fā)調(diào)試模式,非常的簡(jiǎn)單。按照終端輸出的提示,應(yīng)用默認(rèn)運(yùn)行在http://127.0.0.1:8050地址,本機(jī)瀏覽器直接訪問(wèn)即可:
因?yàn)榍懊嫖覀円呀?jīng)完成了數(shù)據(jù)庫(kù)初始化,因此可以直接登錄默認(rèn)的管理員賬號(hào)進(jìn)入應(yīng)用:
- 用戶名:admin
- 密碼:admin123
magic-dash-pro模板中內(nèi)置了豐富的功能,可以通過(guò)調(diào)整configs模塊下的各種配置參數(shù)來(lái)進(jìn)行定制化,譬如修改configs/layout_config.py中的LayoutConfig.core_layout_type值為'tabs',即可直接切換多頁(yè)面展示形式為多標(biāo)簽頁(yè)形式:
多標(biāo)簽頁(yè)形式效果:
再譬如修改configs/base_config.py中的BaseConfig.enable_fullscreen_watermark值為True,即可開啟全屏水印功能,默認(rèn)顯示當(dāng)前用戶名信息:
全屏水印效果:
除了在模板中內(nèi)置了一系列可通過(guò)參數(shù)快捷調(diào)整的功能配置以外,模板還自帶了應(yīng)用開發(fā)中常見的各類頁(yè)面可直接參考模仿,譬如:
獨(dú)立頁(yè)面(脫離側(cè)邊菜單結(jié)構(gòu))
通配地址頁(yè)面(網(wǎng)址中存在動(dòng)態(tài)變化部分)
403狀態(tài)頁(yè)面:
404狀態(tài)頁(yè)面:
500狀態(tài)頁(yè)面:
除此之外,上面展示的magic-dash-pro模板還支持基于用戶角色進(jìn)行頁(yè)面權(quán)限控制、局部權(quán)限控制等眾多開箱即用的功能,在這些內(nèi)置應(yīng)用模板基礎(chǔ)上進(jìn)行二次開發(fā)非常的高效快捷。
magic-dash內(nèi)置的各種應(yīng)用模板,整體基于Python生態(tài)中頂級(jí)的開源應(yīng)用開發(fā)框架Dash,在世界范圍內(nèi)非常流行,相關(guān)軟件生態(tài)也十分豐富,日常開發(fā)中所需的各種常見頁(yè)面功能,都可以找到相應(yīng)的組件庫(kù)直接調(diào)用,快速開發(fā)應(yīng)用頁(yè)面及后臺(tái)邏輯,是純Python開發(fā)各種應(yīng)用的絕佳選擇。
更多關(guān)于magic-dash的使用說(shuō)明及參數(shù)文檔,請(qǐng)移步:
- Github倉(cāng)庫(kù):https://github.com/CNFeffery/magic-dash
- 碼云同步倉(cāng)庫(kù):https://gitee.com/cnfeffery/magic-dash