Flask框架基礎篇(一)
阿新 • • 發佈:2018-05-17
Python flask基礎知識 Flask是一個使用Python語言編寫的輕量Web開發級框架--"麻雀雖小,五臟俱全"。flash兩大核心: 基於Werkzeug的路由模塊,基於Jinja2模板引擎。
中文文檔:http://docs.jinkan.org/docs/flask/
虛擬環境配置參照中文文檔:
下面通過在代碼裏面介紹一些基礎知識點:
中文文檔:http://docs.jinkan.org/docs/flask/
虛擬環境配置參照中文文檔:
下面通過在代碼裏面介紹一些基礎知識點:
from flask import Flask from flask import request from flask import jsonify from flask import redirect, url_for from werkzeug.routing import BaseConverter app = Flask(__name__) # 1.通過配置文件加載,加載debug # 需要在當前路徑下新建config.ini文件 內容為 DEBUG=True # app.config.from_pyfile(‘config.ini‘) # 2.從配置對象中加載 # class Config(object): # DEBUG = True # app.config.from_object(Config) # 3.直接在run()中傳入參數debug=True # 歡迎首頁 @app.route(‘/‘) def index(): return "<h1>Hello friend<br>This is first Flask</h2>" # 帶參數路由傳遞,將輸入的地址打印到頁面 # @app.route(‘/user/<name>‘) # def user(name): # return ‘<h2>hello,%s!!</h2>‘ % name # 設置瀏覽器地址欄傳入參數類型 # 瀏覽器輸入默認為str類型 ,可做限定類型還有 float ,path(也是字符串類型) @app.route(‘/user/<int:user_id>‘) def user_info(user_id): return "user_info:%d" % user_id # 設置請求方法 @app.route(‘/demo‘, methods=[‘GET‘,‘POST‘,‘HEAD‘]) def demo(): return request.method # 返回json格式的數據 @app.route(‘/demo01‘) def demo01(): json_dict = { "user_id":12, "user_name":"董永", "age":20 } return jsonify(json_dict) #重定向 @app.route(‘/demo02‘) def demo02(): # 重定向到百度 # return redirect(‘http://www.baidu.com‘) # 重定向到歡迎首頁 # return redirect(‘/‘) ‘‘‘url_for 調用視圖函數的url‘‘‘ return redirect(url_for(‘demo01‘)) # 自定義狀態碼 @app.route(‘/demo03‘) def demo03(): # print("自定義狀態碼") return ‘狀態碼‘,123 # 正則匹配 # 自定義轉換器 class ReConverter(BaseConverter): def __init__(self, url_map, *args): super(ReConverter, self).__init__(url_map) self.regex = args[0] # 將自定義轉換器添加到轉換器字典中,並指定轉換器使用名稱 app.url_map.converters[‘re‘] = ReConverter # 通過調用自定義轉換器,過濾瀏覽器輸入不合規參數 @app.route(‘/user/<re("[0-9]{3}"):user_id>‘) def user_msg(user_id): return "正則限定後 user_id 是:%s" % user_id # url_for(‘‘)調用視圖函數的url @app.route(‘/demo04‘) def demo04(): return url_for(‘demo03‘) # 程序入口 if __name__ == ‘__main__‘: app.run(debug=True)
Flask框架基礎篇(一)