[雪峰磁針石部落格]flask構建自動化測試平臺1-hello

書籍尋找發表於2018-08-22

簡介

  • 第一部分

Flask例項。學習使用Flask開發,構建功能完備的Web應用程式。我們開發了動態的頭條新聞應用程式,可顯示最新的新聞標題以及最新的貨幣和天氣資訊。在專案二中,我們構建了由MySQL資料庫支援的犯罪地圖應用程式,允許使用者提交犯罪資訊和犯罪地點,以便繪製區域內的危險區域和其他犯罪趨勢。在最後的專案中,我們將Flask與更多現代技術結合在一起,例如Twitter的Bootstrap和NoSQL資料庫MongoDB,以建立Waiter Caller應用程式,允許餐廳顧客輕鬆地將服務員叫到他們的桌子。

  • 第二部分

Flask框架菜譜。涉及Flask的不同配置方式,如何使用模板並學習ORM和檢視層。您將看到如何編寫管理介面,隨後進行錯誤除錯和記錄。最後,你會了解平臺上的不同部署。

  • 第三部分

掌握Flask,從簡單的Flask應用程式展示模型 – 檢視 – 控制器(MVC)體系結構。然後擴充套件使用者登入和註冊,NoSQL查詢,REST API,管理介面、單元測試等。最後討論不同平臺部署Flask應用程式,每個應用程式的優缺點以及如何部署每個應用程式

  • 第四部分

開發一個實用的自動化測試平臺。

image.png

image.png

當然上面的圖比較複雜,我們教學會使用簡化版本

1-Hello, World!

  • Flask簡介
  • 開發環境
  • Hello,World!
  • 部署

Flask簡介

Flask是Python Web開發的微框架。它只實現了核心功能(包括路由),更多高階功能(包括身份驗證和資料庫ORM)需要使用擴充套件。這樣可以快速上手且有靈活性。Django則相反,有自己的ORM和認證。

開發環境

用pip安裝即可。 演示程式碼為unbuntu 16 + python3

Hello,World!

#!python

from flask import Flask

app = Flask(__name__)


@app.route("/")
def index():
    return "Hello, World!"


if __name__ == `__main__`:
    app.run(port=5000, debug=True)

test.jpg

執行


$ python3 hello.py 
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 274-360-321
127.0.0.1 - - [08/Mar/2018 11:28:11] "GET / HTTP/1.1" 200 -

用瀏覽器開啟 http://localhost:5000/

可以看到 “Hello, World!”

部署

test.jpg


# apt-get install apache2
# apt-get install libapache2-mod-wsgi-py3
# cd /var/www
# cp ~/Chapter01 -r firstapp
# vi hello.wsgi

import sys
sys.path.insert(0, "/var/www/firstapp")
from hello import app as application

# cd /etc/apache2/sites-available
# vi hello.conf

<VirtualHost *>
    ServerName example.com

    WSGIScriptAlias / /var/www/firstapp/hello.wsgi
    WSGIDaemonProcess hello
    <Directory /var/www/firstapp>
       WSGIProcessGroup hello
       WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

# a2dissite 000-default.conf
# a2ensite hello.conf
# service apache2 reload
# tail –f /var/log/apache2/error.log

參考資料


相關文章