WEB開發系列3:一步步打造強大的Python后端開發環境

前言

上一節中,我們強烈推薦Python作為web開發的主要編程語言。接下來,我們將開始一步步安裝和配置Python項目開發環境,并使用VSCode作為IDE工具,快速上手Python的WEB開發之旅。

最新消息:2018 IEEE頂級編程語言交互排行榜發布,Python衛冕成功,C++異軍突起,雄踞第二,C語言和Java則退位讓賢,分據第三和第四。

編外語:在實施內部綜合服務型網站項目(代號為ROBIN)中,我們在充分考慮和權衡的基礎上,采用了上節所述的開發框架和技術選型,并對內部團隊開展了如下的初訓和實戰內容的學習,在一個月的時間內,團隊已經掌握了前后端分離開發方式,并進入了開發狀態。在隨后的文章中,我們將逐步解析和跟蹤項目的開發進展過程與大家分享,未來也可能會在適當的時候將項目開源,讓更多的人參與到項目中來,推動項目不斷進步和發展。

圖片來源于網絡,圖文無關

學習目標

在Windows操作系統下,實現Python開發環境的安裝和配置,熟練使用VSCode編輯器進行Python項目開發,掌握在Django框架下的兩種開發方式,一是Template模式開發,二是REST模式開發。重點學習Python編程語法,學習Django框架原理及使用方法。

  • 安裝Python3.6語言環境
  • 創建Python項目的env環境
  • VSCode中配套的插件安裝,以及書寫Python代碼的過程
  • 了解和掌握Django下兩種不同模式的開發過程

相關軟件下載

Python語言環境安裝配置

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

  • 安裝到D:\Python36 目錄下,安裝時注意不選擇將路徑自動加入到PATH環境中,這樣可以讓多個Python程序環境并存。

  • 打開命令行,設置Python程序搜索路徑

set PATH=d:\python36;d:\python36\scripts;
若調用VScode集成終端操作時,出現錯誤提示:
【d:\python36\scripts : 無法將“d:\python36\scripts”項識別為 cmdlet、函數、腳本文件或可運行程序的名稱。請檢查名稱的拼寫,如果包括路徑,請確保路徑正確,然后再試一次?!?br> 請點擊“文件”->“首選項”->“設置”,在右側輸入【"terminal.integrated.shell.windows": "C:\WINDOWS\System32\cmd.exe"】
將默認終端修改為“CMD”,再調用VScode中的CMD終端進行操作。

或者 命令行選擇方式

按 Ctrl+P ,輸入命令 >select default shell 后會顯示多個Shell選項
選擇 Command Prompt項即可。

  • 安裝虛擬python環境軟件:pip install virtualenv

  • 創建代碼主目錄srchome并進入,創建Python項目虛擬環境,假設項目名稱t3。 virtualenv t3-env

  • 建立t3項目文件夾,項目內容在該文件夾中,通過VSCode+Git進行管理。

  • 啟動創建的Python3虛擬環境t3-env

t3-env\scripts\activate

可以看見如下的提示行:

( t3-env ) D:\srchome>

  • 制作方便啟動的批處理文件t3.env.bat,文件中內容如下:

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

  • 在VSCode中使用命令行。

ctrl+· / exit # 打開和退出 終端命令行
pip list # 顯示Python環境中的安裝包

VSCode環境安裝及配置

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

或者在打開項目文件夾時,點擊“文件”->“首選項”->“設置”,在工作區設置中添加以下項::
"python.pythonPath": "D:\srchome\t3-env\Scripts\python.exe"

  • VSCode終端進入后端項目環境(t3-env)

D:\srchome> t3.env

  • VSCode里安裝語法檢查插件

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

安裝pylint 語言規范插件,控制代碼標準和規范,和flake8選用一個,在項目的Python env中使用pip install pylint,網友評價比較說這個插件檢查太嚴格。
Ctrl+P >select linter, 切換語言檢查插件。

使用vscode編寫python還是挺舒服的,但是如果給vscode安裝了語法校驗插件,例如flake8,會常常提示一些非??量痰恼Z法問題,其中最讓人不能忍受的就是line to long. https://www.cnblogs.com/tangxin-blog/p/6065017.html

Django項目框架

  • 安裝django。
    pip install django

  • 創建一個Django2項目

cd \srchome
django-admin startproject t3
cd t3 #進入項目目錄
django-admin startapp hello

  • 運行一個Django項目服務

python manage.py runserver 0.0.0.0:8001
使用 ctrl+c 關閉服務
如果直接 python manage.py runserver
則系統自動監聽127.0.0.1的8000端口,訪問的鏈接地址為http://127.0.0.1:8000

Django開發實例

通過這個實例,了解Django RESTful方式的開發流程。djangorestframework的官方文檔:http://www.django-rest-framework.org/。

通過Blog實例,了解Django模板渲染方式的開發流程。主要是models(模型)->更新數據表結構->views(視圖,建立tempaltes)->admin(管理視圖)->urls(添加訪問路徑)。

需要注意的是,在項目的settings設置中可以設置模板的路徑,比如:'DIRS': [os.path.join(BASE_DIR, 'templates')],表示在項目的路徑下的templates目錄存放模板。

VSCode可選插件

  • Guides,縮進線插件,讓代碼看起來更清晰
  • vscode-todo,使VSCode支持TODO的插件
  • vscode-icons 可以使VSCode左側的資源管理器根據文件類型顯示圖標
  • upload vscode插件,upload file to server with sftp
  • Path Intellisense 自動路勁補全,默認不帶這個功能的,趕緊裝
  • fileheader 頂部注釋模板,可定義作者、時間等信息,并會自動更新最后修改時間
圖片來源于網絡,圖文無關

參考學習

  • Django

官方網站:https://www.djangoproject.com/

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

Python中國社區,原django中國社區 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入門與實踐 https://www.imooc.com/learn/790

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,527評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,687評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,640評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,957評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,682評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,011評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,009評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,183評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,714評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,435評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,665評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,148評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,838評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,251評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,588評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,379評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,627評論 2 380

推薦閱讀更多精彩內容