Flask 框架的學習

2021-10-12 18:45:43 字數 3113 閱讀 7637

前端時間學習了下flask,準備在這裡記錄一下flask的基礎入門。

首先先安裝

pip install flask flask_restful

之後建立乙個hello.py

# 匯入flask類

from flask import flask

#flask類接收乙個引數__name__

# 裝飾器的作用是將路由對映到檢視函式index

def index():

return 'hello world'

# flask應用程式例項的run方法啟動web伺服器

if __name__ == '__main__':

效果圖:

1.使用原生api給路由傳參

將url中的引數提取出來

使用的是http請求(get,post,put, delete)

# 引入request

獲取請求資料

request.form.get(「key」, type=str, default=none) 獲取表單資料

request.args.get(「key」) 獲取get請求引數

request.values.get(「key」) 獲取所有引數

下面給出例子:

get請求

同理可以獲得post請求

因此使用request.values.get("key")最方便

2.使用flask_restful

原生和拓展的比對

原生:

拓展:

看著第二種舒服不是嗎,並且滿足api的restful規則

使用:

# 首先引入

import flask_restful

from flask import flask, request

from flask_restful import reqparse, resource, api

# 建立乙個例項物件

# 該類繼承自 resource 類

class hello(resource):

# 假如這個使用的是get方法就會進入這個檢視函式裡面

def get(self):

mydict =

return mydict, 200

# 將hello 這個資源類分配路由

使用flask_restful 獲取相應值

法一:使用原生的request.values.get()方法獲取得到值。

法二:使用reqparse 來請求解析資料

from flask import flask, request

from flask_restful import reqparse, resource, api

# 建立乙個例項物件

# 使用**錯誤選項呼叫requestparser, 讓錯誤可以一次全部輸出

parser = reqparse.requestparser(bundle_errors=true)

# 新增請求引數驗證, help為型別檢查錯誤時出現的東西

parser.add_argument("number", type=int, help='number should be int')

parser.add_argument("name", type=str)

# 該類繼承自 resource 類

class hello(resource):

# 假如這個使用的是get方法就會進入這個檢視函式裡面

def get(self):

# 取出請求中所有的資料

args = parser.parse_args()

# 使用args 方法可以取出資料

return , 200

# 將hello 這個資源類分配路由

api.add_resource(hello, '/')

if __name__ == '__main__':

不符合驗證規則的請求

符合驗證規則的請求

python WEB框架Flask學習

from flask import flask def index return index if name main 方式一 方式二列如 settings.py class config debug true 連線mysql示例 database uri mysql pymysql 資料庫名 開發...

Flask框架學習2

def for url return url for my list page 10,count 3 def my list page print 1111111111111111111 url for裡面 第乙個是檢視函式,第二個是url需要的引數,url for裡面多的引數會當做搜尋字元 ret...

Flask框架學習筆記 2

在flask中,模板變數可以進行加減運算的 name p age p my dict city p my dict city p my list p my list my int p my list 0 my list 1 p p body 帶引數的巨集 type name value size 把...