Python Flask學習筆記之Hello World


Python Flask學習筆記之Hello World

安裝virtualenv,配置Flask開發環境

virtualenv

虛擬環境是Python解釋器的一個私有副本,在這個環境中可以安裝私有包,而且不會影響系統中安裝到全局Python解釋器。虛擬環境非常有用,可以在系統的Python解釋器中避免包的混亂和版本的沖突,為每個程序單獨創建虛擬環境,可以保證程序只能訪問虛擬環境中的包從而保持全局解釋器的干凈整潔。

  • 安裝
sudo apt-get install python-virtualenv
  • 創建項目目錄
mkdir Blog ; cd Blog
  • 查看版本
virtualenv --version
  • 命名項目的虛擬環境
virtualenv venv
  • 指定python版本
virtualenv -p /usr/bin/python2 virtualenv‘s name
  • 激活虛擬環境
. venv/bin/activate

環境激活后命令提示符發生改變(venv) $

  • 退出虛擬環境
deactivate

編寫Hello World

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

運行結果如下

 * Serving Flask app "hello" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

上面使用Flask官方文檔demo

  • 初始化
from flask import Flask
app = Flask(__name__)

首先導入了類Flask,第一個參數是應用模塊的名稱。如果使用的是單一的模塊,第一個參數應該使用 __name__

  • 路由和視圖函數
@app.route('/')
def hello_world():
    return 'Hello World!'

程序實例需要知道對每個URL請求運行哪些代碼,所以保存了一個URLPython函數到映射關系。處理URL和函數之間關系的程序成為路由。Flask使用程序實例提供到app.route修飾器,把修飾的函數注冊為路由。接下來定義一個函數,該函數名也是用來給特定函數生成URL,並且返回我們想要顯示在用戶瀏覽器上的信息。

  • 啟動服務器
if __name__ == '__main__':
    app.run()

最后我們用函數run()啟動本地服務器來運行我們的應用。if __name__ == '__main__':確保服務器只會在該腳本被Python解釋器直接執行的時候才會運行,而不是作為模塊導入的時候。

改寫程序,輸出Hello Mark

創建應用工程目錄

mkdir app

app目錄下創建文件__init__.pyroutes.pymanage.py。在Python程序中,包含__init__.py文件的子目錄被視為一個可導入的包。routes.py定義視圖函數的代碼。manage.py導入應用程序實例。

# __init__.py
from flask import Flask

app = Flask(__name__)

from app import routes

# routes.py
from app import app

@app.route('/')
@app.route('/index')
def index():
    return "Hello, World!"
@app.route('/user/<name>')
def user(name):
    return '<h1>Hello, %s</h1>' % name

manage.py
from app import app

設置FLASK_APP環境變量

export FLASK_APP=manage.py

程序目錄

Project
  venv
  app
    __init__.py
    routes.py
    manage.py

運行

參考文檔:
http://flask.pocoo.org/
http://www.pythondoc.com/flask/index.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM