1.前言
首先感謝大家瀏覽我的博客,這博客是flask web開發這本書的歷程,這是一個完整的大項目,本次是從小的知識點一步步到完成最後的項目,再次提醒本次使用的版本爲python3.7,flask0.10,若想看1.0以後版本可以留言感謝大家的瀏覽,謝謝!(本次博客會每天實時更新,每天進步一點點),因爲本人經常使用django2.0所以有些基礎的註釋不會寫入,抱歉,大家有問題可以留言。
最後送給大家一句話:最好學編程的時間是十年前,其次就是現在!
2.程序的基本結構
pip install flask==0.10
2.1初始化
所有的flask都需要創建一個實例。
from flask import Flask
app = Flask(__name__)
2.2路由和視圖函數
使用裝飾器@app.route()
@app.route('/')
def index():
return '<h1>hello world</h1>'
大家在網站上經常會看到www.facebook.com/<你的姓名>這種地址,這個姓名就是一個動態的地址
@app.route('/user/<name>')
def user(name):
return '<h1>hello, {0}!</h1>'.format(name)
2.3啓動服務器
注意注意,該方法不能在生產環境中使用,也就是不能直接在服務器運行該指令
if __name__ == '__main__':
app.run(debug=True)
2.4完整的demo程序
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '<h1>hello world</h1>'
@app.route('/user/<name>')
def user(name):
return '<h1>hello, {0}!</h1>'.format(name)
if __name__ == '__main__':
app.run(debug=True)
運行效果爲
2.5請求-響應循環
目前你可能看不懂,不要緊繼續看下去,現在不懂沒事,本博客有大量例子,能讓你明白這些如何使用
flask全局變量
from flask import request
變量名 | 說明 |
---|---|
current_app | 激活程序的程序實例 |
g | 臨時存儲的對象,每次請求重設這個變量 |
request | 封裝了http內的請求 |
session | 用戶會話, 需要記住 值的詞典 |
請求鉤子
before_first_request:註冊一個函數,處理第一個請求之前運行
before_request:註冊一個函數, 每次請求之前運行
after_request: 沒有異常,請求結束後運行
teardown_request: 即使有異常,請求結束後運行
2.6 使用flask-script支持命令行選項
pip install flask-script
from flask import Flask
from flask.ext.script import Manager
app = Flask(__name__)
manager = Manager(app)
@app.route('/')
def index():
return '<h1>hello world</h1>'
@app.route('/user/<name>')
def user(name):
return '<h1>hello, {0}!</h1>'.format(name)
if __name__ == '__main__':
# app.run(debug=True)
manager.run()
使用命令行運行
python hello.py runserver --host 0.0.0.0
直接ipconfig 看自己ip
ip:5000