這裡延續上一節的內容
# 路由 + 檢視函式
from flask import Blueprint
# from models import *
#藍圖
# 建立藍圖物件
# 第一個引數:藍圖的名字
# 第二個引數:藍圖的包名
blue = Blueprint('user', __name__,)
@blue.route('/') # 路由
def index():
return 'user index'
# 路由引數
# string 接收任何沒有斜槓('/')的檔案(預設)
# int 接收整數
# float 接收浮點數
# path 接收任何檔案,包括斜槓('/')
# uuid 接收UUID、唯一碼、一種生成規則
# any 接收任何值,但是必須包含在指定的列表中
# slash 接收斜槓('/')
#string
# <name>:為接受的變數引數,如果不指定引數型別預設為string
# @blue.route('/get/<string:name>/')
@blue.route('/get/<name>/') #預設接收字串
#瀏覽器中輸入:http://127.0.0.1:5000/get/xiaoxin/ 那麼會列印出xiaoxin、name=xiaoxin
def get_string(name):
print(name)
return name
#int
@blue.route('/get/<int:age>/')
def get_int(age):
print(age)
return str(age) #這裡不能直接返回int型別、因為flask預設返回的是字串型別
#float
@blue.route('/get/<float:score>/')
def get_float(score):
print(score)
return str(score)
#path 支援/的字串
#http://127.0.0.1:5000/path/hell/123/ name=hell/123
@blue.route('/path/<path:name>/')
def get_path(name):
print(name)
return str(name)
# uuid: 唯一碼、預設接收36位長度的字串、如果不是36位長度的UUID會報錯
#26be2214-aa07-48ec-8b8d-3aafdceb678c
#輸入:http://127.0.0.1:5000/uuid/26be2214-aa07-48ec-8b8d-3aafdceb678c/
@blue.route('/uuid/<uuid:uid>/')
def get_uuid(uid):
print(uid)
return str(uid)
#獲取uuid
import uuid
@blue.route('/getuuid/')
def get_uuid2():
return str(uuid.uuid4()) #26be2214-aa07-48ec-8b8d-3aafdceb678c
# any:只能從列出的專案中選擇一個 (xiaoxin,xiaoming,xiaohong)
@blue.route('/any/<any(xiaoxin,xiaoming,xiaohong):name>/')
def get_any(name):
print(name)
return str(name)
#請求方法: methods
# GET:獲取資料 ,預設是get方法
# POST:新增資料 ,預設不支援post,要在methods中指定即可
# PUT:更新資料
# DELETE:刪除資料
# HEAD:獲取報文頭
# OPTIONS:獲取請求方式
# @blue.route('/get/')
@blue.route('/rule/', methods=['GET', 'POST']) #這裡要同時指定GET和POST
def get_method():
return 'LOL'
#輸入:http://127.0.0.1:5000/rule/ 是GET請求,所以會列印出GET