WEB開(kāi)發(fā)系列3:一步步打造強(qiáng)大的Python后端開(kāi)發(fā)環(huán)境

前言

上一節(jié)中帆啃,我們強(qiáng)烈推薦Python作為web開(kāi)發(fā)的主要編程語(yǔ)言。接下來(lái)肺缕,我們將開(kāi)始一步步安裝和配置Python項(xiàng)目開(kāi)發(fā)環(huán)境邑时,并使用VSCode作為IDE工具奴紧,快速上手Python的WEB開(kāi)發(fā)之旅。

最新消息:2018 IEEE頂級(jí)編程語(yǔ)言交互排行榜發(fā)布晶丘,Python衛(wèi)冕成功黍氮,C++異軍突起,雄踞第二浅浮,C語(yǔ)言和Java則退位讓賢沫浆,分據(jù)第三和第四。

編外語(yǔ):在實(shí)施內(nèi)部綜合服務(wù)型網(wǎng)站項(xiàng)目(代號(hào)為ROBIN)中滚秩,我們?cè)诔浞挚紤]和權(quán)衡的基礎(chǔ)上专执,采用了上節(jié)所述的開(kāi)發(fā)框架和技術(shù)選型,并對(duì)內(nèi)部團(tuán)隊(duì)開(kāi)展了如下的初訓(xùn)和實(shí)戰(zhàn)內(nèi)容的學(xué)習(xí)郁油,在一個(gè)月的時(shí)間內(nèi)本股,團(tuán)隊(duì)已經(jīng)掌握了前后端分離開(kāi)發(fā)方式,并進(jìn)入了開(kāi)發(fā)狀態(tài)桐腌。在隨后的文章中拄显,我們將逐步解析和跟蹤項(xiàng)目的開(kāi)發(fā)進(jìn)展過(guò)程與大家分享,未來(lái)也可能會(huì)在適當(dāng)?shù)臅r(shí)候?qū)㈨?xiàng)目開(kāi)源案站,讓更多的人參與到項(xiàng)目中來(lái)凿叠,推動(dòng)項(xiàng)目不斷進(jìn)步和發(fā)展。

圖片來(lái)源于網(wǎng)絡(luò)嚼吞,圖文無(wú)關(guān)

學(xué)習(xí)目標(biāo)

在Windows操作系統(tǒng)下,實(shí)現(xiàn)Python開(kāi)發(fā)環(huán)境的安裝和配置蹬碧,熟練使用VSCode編輯器進(jìn)行Python項(xiàng)目開(kāi)發(fā)舱禽,掌握在Django框架下的兩種開(kāi)發(fā)方式,一是Template模式開(kāi)發(fā)恩沽,二是REST模式開(kāi)發(fā)誊稚。重點(diǎn)學(xué)習(xí)Python編程語(yǔ)法,學(xué)習(xí)Django框架原理及使用方法。

  • 安裝Python3.6語(yǔ)言環(huán)境
  • 創(chuàng)建Python項(xiàng)目的env環(huán)境
  • VSCode中配套的插件安裝里伯,以及書寫Python代碼的過(guò)程
  • 了解和掌握Django下兩種不同模式的開(kāi)發(fā)過(guò)程

相關(guān)軟件下載

Python語(yǔ)言環(huán)境安裝配置

  • 下載Python3.6安裝包 https://www.python.org/downloads/

  • 安裝到D:\Python36 目錄下疾瓮,安裝時(shí)注意不選擇將路徑自動(dòng)加入到PATH環(huán)境中脖镀,這樣可以讓多個(gè)Python程序環(huán)境并存。

  • 打開(kāi)命令行狼电,設(shè)置Python程序搜索路徑

set PATH=d:\python36;d:\python36\scripts;
若調(diào)用VScode集成終端操作時(shí)蜒灰,出現(xiàn)錯(cuò)誤提示:
【d:\python36\scripts : 無(wú)法將“d:\python36\scripts”項(xiàng)識(shí)別為 cmdlet、函數(shù)肩碟、腳本文件或可運(yùn)行程序的名稱强窖。請(qǐng)檢查名稱的拼寫,如果包括路徑削祈,請(qǐng)確保路徑正確翅溺,然后再試一次∷枰郑】
請(qǐng)點(diǎn)擊“文件”->“首選項(xiàng)”->“設(shè)置”咙崎,在右側(cè)輸入【"terminal.integrated.shell.windows": "C:\WINDOWS\System32\cmd.exe"】
將默認(rèn)終端修改為“CMD”,再調(diào)用VScode中的CMD終端進(jìn)行操作启昧。

或者 命令行選擇方式

按 Ctrl+P ,輸入命令 >select default shell 后會(huì)顯示多個(gè)Shell選項(xiàng)
選擇 Command Prompt項(xiàng)即可叙凡。

  • 安裝虛擬python環(huán)境軟件:pip install virtualenv

  • 創(chuàng)建代碼主目錄srchome并進(jìn)入,創(chuàng)建Python項(xiàng)目虛擬環(huán)境密末,假設(shè)項(xiàng)目名稱t3握爷。 virtualenv t3-env

  • 建立t3項(xiàng)目文件夾,項(xiàng)目?jī)?nèi)容在該文件夾中严里,通過(guò)VSCode+Git進(jìn)行管理新啼。

  • 啟動(dòng)創(chuàng)建的Python3虛擬環(huán)境t3-env

t3-env\scripts\activate

可以看見(jiàn)如下的提示行:

( t3-env ) D:\srchome>

  • 制作方便啟動(dòng)的批處理文件t3.env.bat,文件中內(nèi)容如下:

d:\srchome\t3-env\Scripts\activate

  • 在VSCode中使用命令行刹碾。

ctrl+· / exit # 打開(kāi)和退出 終端命令行
pip list # 顯示Python環(huán)境中的安裝包

VSCode環(huán)境安裝及配置

  • 在VSCode里安裝python插件
  1. ctrl + shift + p 輸入 ext install 選擇“Extensions:install extension” 回車
  2. 再輸入 python
  3. 等待安裝成功
  4. 在vs code中配置運(yùn)行python程序的命令
    4.1) ctrl + shift + p 搜索Configure Task
    4.2) 創(chuàng)建tasks.json
    修改 Command “tsc” 為 “python”
    修改 showOutput “silent” 為 “always”
    修改 Arguments [“Helloworld.ts”] 為 [“${file}”]
    刪除 最后的一行屬性 problemMatcher
    保存更改
    4.3) 使用 ctrl + shift + B 執(zhí)行py程序文件
  • 配置VSCode應(yīng)用Python的VIRTUALENV環(huán)境
    選擇某個(gè).py文件燥撞,點(diǎn)擊右下角Python,選擇配置"Python"語(yǔ)言基礎(chǔ)設(shè)置...
    在工作區(qū)設(shè)置中添加以下項(xiàng):
    "python.pythonPath": "D:\srchome\t3-env\Scripts\python.exe"

或者在打開(kāi)項(xiàng)目文件夾時(shí)迷帜,點(diǎn)擊“文件”->“首選項(xiàng)”->“設(shè)置”物舒,在工作區(qū)設(shè)置中添加以下項(xiàng)::
"python.pythonPath": "D:\srchome\t3-env\Scripts\python.exe"

  • VSCode終端進(jìn)入后端項(xiàng)目環(huán)境(t3-env)

D:\srchome> t3.env

  • VSCode里安裝語(yǔ)法檢查插件

安裝flake8 官方語(yǔ)法檢查插件(推薦),在項(xiàng)目的Python env中使用pip install flake8安裝戏锹。

安裝pylint 語(yǔ)言規(guī)范插件冠胯,控制代碼標(biāo)準(zhǔn)和規(guī)范,和flake8選用一個(gè)锦针,在項(xiàng)目的Python env中使用pip install pylint荠察,網(wǎng)友評(píng)價(jià)比較說(shuō)這個(gè)插件檢查太嚴(yán)格置蜀。
Ctrl+P >select linter, 切換語(yǔ)言檢查插件悉盆。

  • 在vscode中使用pylint-django插件解決pylint的一些不必要的錯(cuò)誤提示盯荤。如果想繼續(xù)使用pylint,以下是解決方案:http://www.cnblogs.com/chaojihexiang/p/6417835.html

  • vscode 編寫python如何禁止 flake8 提示 line too long

使用vscode編寫python還是挺舒服的,但是如果給vscode安裝了語(yǔ)法校驗(yàn)插件,例如flake8,會(huì)常常提示一些非郴烂耍苛刻的語(yǔ)法問(wèn)題,其中最讓人不能忍受的就是line to long. https://www.cnblogs.com/tangxin-blog/p/6065017.html

Django項(xiàng)目框架

  • 安裝django。
    pip install django

  • 創(chuàng)建一個(gè)Django2項(xiàng)目

cd \srchome
django-admin startproject t3
cd t3 #進(jìn)入項(xiàng)目目錄
django-admin startapp hello

  • 運(yùn)行一個(gè)Django項(xiàng)目服務(wù)

python manage.py runserver 0.0.0.0:8001
使用 ctrl+c 關(guān)閉服務(wù)
如果直接 python manage.py runserver
則系統(tǒng)自動(dòng)監(jiān)聽(tīng)127.0.0.1的8000端口京髓,訪問(wèn)的鏈接地址為http://127.0.0.1:8000

Django開(kāi)發(fā)實(shí)例

通過(guò)這個(gè)實(shí)例,了解Django RESTful方式的開(kāi)發(fā)流程堰怨。djangorestframework的官方文檔:http://www.django-rest-framework.org/芥玉。

通過(guò)Blog實(shí)例,了解Django模板渲染方式的開(kāi)發(fā)流程备图。主要是models(模型)->更新數(shù)據(jù)表結(jié)構(gòu)->views(視圖灿巧,建立tempaltes)->admin(管理視圖)->urls(添加訪問(wèn)路徑)。

需要注意的是揽涮,在項(xiàng)目的settings設(shè)置中可以設(shè)置模板的路徑抠藕,比如:'DIRS': [os.path.join(BASE_DIR, 'templates')],表示在項(xiàng)目的路徑下的templates目錄存放模板蒋困。

VSCode可選插件

  • Guides盾似,縮進(jìn)線插件,讓代碼看起來(lái)更清晰
  • vscode-todo雪标,使VSCode支持TODO的插件
  • vscode-icons 可以使VSCode左側(cè)的資源管理器根據(jù)文件類型顯示圖標(biāo)
  • upload vscode插件零院,upload file to server with sftp
  • Path Intellisense 自動(dòng)路勁補(bǔ)全,默認(rèn)不帶這個(gè)功能的村刨,趕緊裝
  • fileheader 頂部注釋模板告抄,可定義作者、時(shí)間等信息嵌牺,并會(huì)自動(dòng)更新最后修改時(shí)間
圖片來(lái)源于網(wǎng)絡(luò)打洼,圖文無(wú)關(guān)

參考學(xué)習(xí)

  • Django

官方網(wǎng)站:https://www.djangoproject.com/

django2.0中文文檔 http://djangobook.py3k.cn/2.0/

Python中國(guó)社區(qū),原django中國(guó)社區(qū) http://www.django-china.cn

Django apps, projects and resources. https://github.com/rosarior/awesome-django

翻譯小組中文文檔 http://python.usyiyi.cn/

知乎 zhihu.com

segmentfault.com

Django視頻教程 https://www.cnblogs.com/wangcp-2014/p/5590425.html

django入門與實(shí)踐 https://www.imooc.com/learn/790

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末逆粹,一起剝皮案震驚了整個(gè)濱河市募疮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌僻弹,老刑警劉巖酝锅,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異奢方,居然都是意外死亡搔扁,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門蟋字,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)稿蹲,“玉大人,你說(shuō)我怎么就攤上這事鹊奖】疗福” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵忠聚,是天一觀的道長(zhǎng)设哗。 經(jīng)常有香客問(wèn)我,道長(zhǎng)两蟀,這世上最難降的妖魔是什么网梢? 我笑而不...
    開(kāi)封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮赂毯,結(jié)果婚禮上战虏,老公的妹妹穿的比我還像新娘。我一直安慰自己党涕,他們只是感情好烦感,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著膛堤,像睡著了一般手趣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上肥荔,一...
    開(kāi)封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天绿渣,我揣著相機(jī)與錄音,去河邊找鬼次企。 笑死怯晕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的缸棵。 我是一名探鬼主播舟茶,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼堵第!你這毒婦竟也來(lái)了吧凉?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤踏志,失蹤者是張志新(化名)和其女友劉穎阀捅,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體针余,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡饲鄙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年凄诞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片忍级。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡帆谍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出轴咱,到底是詐尸還是另有隱情汛蝙,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布朴肺,位于F島的核電站窖剑,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏戈稿。R本人自食惡果不足惜西土,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望器瘪。 院中可真熱鬧翠储,春花似錦、人聲如沸橡疼。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)欣除。三九已至住拭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間历帚,已是汗流浹背滔岳。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挽牢,地道東北人谱煤。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像禽拔,于是被迫代替她去往敵國(guó)和親刘离。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容