源代碼: https://github.com/ltoddy/flask-tutorial
技術(shù)交流群:630398887(歡迎一起吹牛)
寫在前面的話:這里我假設(shè)你電腦已經(jīng)安裝好了Python3,本篇基于Python3開發(fā)勇边。(沒有pip沒關(guān)系)
什么是pip备韧?
pip就是一個軟件包管理侯勉,因為有各種人事開發(fā)了python的第三方庫蚌堵,但是這些庫是不在標準庫中的吮炕,這些庫發(fā)布在PyPi上擂红。所以可以使用pip這個工具來自動下載瘪松。
環(huán)境搭建:
所選用的集成開發(fā)環(huán)境(也就是開發(fā)軟件)是:Pycharm Professional
去jetbrains官網(wǎng) click me
有兩個版本一個是Professional(專業(yè)版),一個是Community(社區(qū)版)悠瞬。
這里我們下載Professional版凹蜂。
順便提一句,這個軟件內(nèi)部已經(jīng)集成好了pip阁危,所以你不需要自己手動去安裝pip玛痊。
然后下載好Pycharm Professional之后,去安裝狂打,沒什么問題就下一步就好擂煞。
如果你是第一次下載使用,點擊Do not import settings,這里的意思就是說趴乡,如果你之前用過這個軟件对省,本地是由相關(guān)的配置文件的,比如保存著軟件的主題晾捏,插件之類的東西蒿涎。
因為這是個付費軟件,但是可以免費使用三十天惦辛。說句公道話劳秋,不要埋怨什么軟件付費,你想想胖齐,公司人員花了力氣開發(fā)出來東西玻淑,憑什么就讓你白白使用。換做是誰都不愿意啊呀伙。
然后點擊 Evaluate补履, 然后點擊Accept。
這里是讓你去選擇你軟件的快捷鍵剿另,主題箫锤,字體,顏色雨女。選好之后點OK就好谚攒。
然后點擊create new project
這里我們項目取名字為blog。(僅僅是把上面的Location中最后untitled改成了blog)戚篙。
然后點擊create五鲫。
然后等一小會,軟件把Python3的標準庫和第三方庫導入進去岔擂。
進去之后是如上圖的樣子位喂。
如果你電腦沒有相關(guān)的第三方庫(這里指的flask庫,和相關(guān)的擴展庫)的話乱灵,把鼠標一到有紅色下劃線的地方塑崖,然后會有一個橙紅色的燈泡,點擊一下痛倚,然后點擊第一個選項(Install package flask),讓軟件自身集成的pip給你安裝好规婆。
然后等一小會,就安裝好了,然后你就會看到紅色下劃線消失了抒蚜。
然后我們鼠標右鍵掘鄙,然后點擊運行。
下方出現(xiàn)如下效果嗡髓,然后點擊那個網(wǎng)址操漠。
他會自動打開電腦默認的瀏覽器去瀏覽。
這里寫給外行饿这,非計算機人事
這在里的最左側(cè)浊伙,有這么幾個功能按鈕,Rerun(重新啟動這個程序),Stop(停止這個程序)长捧。讓你不瀏覽程序的結(jié)果的時候嚣鄙,盡量就Stop這個程序。因為這個程序會占用電腦的5000端口號串结,然后每次運行就會占用這個端口號哑子,當你程序已經(jīng)運行之后,再更新了代碼看效果的時候奉芦,如果你還想再去run這個程序赵抢,那么會提示你有Rerun那個選項,
點擊那個Stop and Rerun就好声功。不過這樣子總感覺怪怪的烦却。
再次回歸正題。
感受一下動態(tài)路由先巴。
代碼如下:
blog/blog.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello World!'
@app.route('/<username>')
def user(username):
return "Hello {}".format(username)
if __name__ == '__main__':
app.run()
然后手動的去更改一下網(wǎng)址其爵,如下∩祢牵看上去還不錯摩渺。
OK,下面講解一下Flask框架剂邮。
Flask主要有兩個依賴:路由摇幻,Web服務(wù)器網(wǎng)關(guān)接口子系統(tǒng)(有Werkzeug提供);和模板系統(tǒng)(由Jinja2提供挥萌,下一節(jié)將會用到)绰姻。
簡單說一下路由:
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello World!'
簡單說一下這個部分代碼,app = Flask(name)引瀑,用來創(chuàng)建一個Flask應(yīng)用狂芋,一般Flask類構(gòu)造函數(shù)只有一個必須指定的參數(shù),即程序主模塊或包的名字憨栽,在大多數(shù)程序中帜矾,Python的name_變量就是所需要的值翼虫。
@app.route('/') 這個東西叫路由,程序?qū)嵗枰缹γ總€URL(網(wǎng)址)請求運用那些代碼屡萤,所以保存了一個URL到Python函數(shù)的映射關(guān)系珍剑。處理URL和函數(shù)之間的關(guān)系的程序稱為路由。而下面所修飾的index()函數(shù)被叫做視圖函數(shù)灭衷,他來展示你的web頁面的樣子次慢。
最后說一點,我是linux用戶翔曲,之后的講解我就在我的ubuntu上寫了,如果windows上和linux上有區(qū)別的地方劈愚,我會以windows為主瞳遍,畢竟我有兩臺電腦。