天天看點

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

簡介

  • 第一部分

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

  • 第二部分

Flask架構菜單。涉及Flask的不同配置方式,如何使用模闆并學習ORM和視圖層。您将看到如何編寫管理界面,随後進行錯誤調試和記錄。最後,你會了解平台上的不同部署。

  • 第三部分

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

  • 第四部分

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

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

1-Hello, World!

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

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

用pip安裝即可。 示範代碼為unbuntu 16 + python3

#!python

from flask import Flask

app = Flask(__name__)


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


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

執行

$ 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!”

# 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
           

參考資料