1. 程式人生 > >Python之路由與網路--flask

Python之路由與網路--flask

flask的基本安裝
1.全域性安裝
命令:sudo pip install flask
2.虛擬環境安裝(Anaconda)
進入虛擬環境:source activate xxxx
安裝命令:pip install flask
1.預備知識緒論
1.匯入Flask
2.例項化一個Flask物件

       __name__是模組的名稱或者包的名稱
       作用:根據這個引數確定flask應用的路徑,從而快速查詢模板和html檔案的預設路徑;
       模組就是python檔案;包就是目錄(比普通目錄多加一個__init__.py);

3.基本路由:通過路由繫結一個檢視函式
@app.route(’/’):告訴Flask哪個URL才能觸發對應的函式,又稱為路由;
對應定義了一個檢視函式,也就是返回給使用者瀏覽器顯示的內容;
程式碼如下
在這裡插入圖片描述


這裡路由後只有一個 ‘/’意為連結的url地址不加字尾
程式碼執行後會返回一個連結,點選就會進入瀏覽器並載入
注意:此處的 ‘0.0.0.0’代指本地的所有IP地址,所以我換成172.25.254.52也能連結上,1000為埠號
在這裡插入圖片描述
在這裡插入圖片描述
另外,每一個埠號只能用一次,再次執行程式碼時需要修改埠號,否則會報錯如下
在這裡插入圖片描述
2.路由與變數規則
常見路由的規則:

          1.url的一部分可以標記為變數<變數名>
          2.flask中路由裡面的變數常見型別
                int,srting,float,path,uuid

在這裡插入圖片描述
路由可以新增整形數和字串
requests.args.get( )獲取get請求引數
在這裡插入圖片描述


在這裡插入圖片描述
而app.logger.warning警告和返回值連結如下
app.run( )相當於執行路由函式
在這裡插入圖片描述

3.URL構建與反向URL
在這裡插入圖片描述
其中url_for( ) 函式用來生成反向路由,本質是根據函式名反向生成url,使用她來針對一個特定的函式構建一個URL。她能夠接受函式名作為第一引數,以及一些關鍵字引數,每一個關鍵字引數對應於URL規則的變數部分。未知變數部分被插入到URL中作為查詢引數。
在這裡插入圖片描述
在這裡插入圖片描述
這裡返回了request.headers—表頭資訊
我們也可以看到預設url地址的請求方法是 ‘get’

4.模板引擎jinjia2
1.什麼是jinjia2模板引擎?

        python的Web開發中,業務邏輯(實質就是檢視函式的內容)和頁面邏輯(html檔案)分開,使得程式碼的可讀性增強,程式碼容易理解和維護;
        模板渲染:在html檔案中,通過動態賦值,將重新翻譯好的html檔案(模板引擎生效)返回給使用者的過程。
        其他的模板引擎:Mako,Tmplate,Jinjia2

在這裡插入圖片描述
在這裡插入圖片描述

5.變數顯示
###Jinjia2變數顯示語法: { {變數名 } }
#for 迴圈:
{% for i in li %}
{% endfor %}
#if語句
{% if user==‘westos’%}
{% elif user==‘hello’%}
{% else %}
{% endif %}
在這裡插入圖片描述
__str__是一個魔術方法
當User類被例項化時會自動呼叫執行
有必要說明,render_template是模板渲染,可以傳關鍵字引數,會返回到index1.html頁面,她的功能是根據傳入的引數,對html進行修改和渲染。

這是index1.html的內容
在這裡插入圖片描述
在這裡插入圖片描述
此處的d[‘a’]和d.a都代表字典中a的value值

6.回顧時間操作
在這裡插入圖片描述

在這裡插入圖片描述
其中time.time( )是當前時間以秒為單位,time.ctime( )則是年月日星期小時分鐘秒一應俱全
getmtime( )可以顯示出檔案的建立時間