# coding:utf-8 from flask import Flask, request app = Flask(__name__) @app.route('/index', methods=['GET', 'POST']) def index(): return 'test ok' if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
不重要的注意:爲了讓文檔看起來不那麼冗長,我選擇性的減小了空行html
經過上面一系列的操做大體應該瞭解若是發送一次請求,接下來的有些操做,有多是文字形容不太清楚的。因此仔細的看一下截圖的每個帶有選框和你下載Postman不同的地方。前端
一個包含解析過的從 POST 或 PUT 請求發送的表單對象的 MultiDict 。請注意上傳的文件不會在這裏,而是在 files 屬性中。python
一個包含解析過的查詢字符串( URL 中問號後的部分)內容的 MultiDict 。json
一個包含 form 和 args 所有內容的 CombinedMultiDict 。flask
一個包含請求中傳送的全部 cookie 內容的 dict 。後端
若是表單提交的數據沒有以已知的 mimetype 編碼,爲性能考慮,數據會不經修改存儲在這個流中。大多數狀況下,使用能夠把數據提供爲字符串的 data 是更好的方法。流只返回一次數據。api
進入請求的標頭存爲一個相似字典的對象。瀏覽器
若是進入的請求數據是 Flask 不能處理的 mimetype ,數據將做爲字符串存於此。服務器
一個包含 POST 和 PUT 請求中上傳的文件的 MultiDict 。每一個文件存儲爲FileStorage 對象。其基本的行爲相似你在 Python 中見到的標準文件對象,差別在於這個對象有一個 save() 方法能夠把文件存儲到文件系統上。cookie
底層的 WSGI 環境。
當前請求的 HTTP 方法 (POST , GET 等等)
# coding:utf-8 # request中包含了前端發送過來的全部請求數據 from flask import Flask, request app = Flask(__name__) @app.route('/index', methods=['GET', 'POST']) def index(): # 接收客戶端請求過來的數據 # 經過requset.form能夠直接提取請求體中的表單格式的數據, 是一個相似字典的對象 name = request.form.get('username') pwd = request.form.get('password') return 'username = %s, password = %s' % (name, pwd) if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
一個不重要的注意:請把注意點放在Flask框架上,這個Postman不是重點,主要是後端經過request接收前端發送過來的數據纔是重點,理清request纔是最主要的。你也能夠經過頁面發送到視圖,你任何能夠發起請求的方式都是能夠的不僅僅只有Postman
from flask import Flask, request app = Flask(__name__) @app.route('/index', methods=['GET', 'POST']) def index(): name = request.form['username'] # 注意這裏爲更改代碼 # name = request.form.get('username') pwd = request.form.get('password') return 'username = %s, password = %s' % (name, pwd) if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
from flask import Flask, request app = Flask(__name__) @app.route('/index', methods=['GET', 'POST']) def index(): # name = request.form['username'] name = request.form.get('username') # 此次是經過get()方法接受數據 pwd = request.form.get('password') return 'username = %s, password = %s' % (name, pwd) if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
from flask import Flask, request app = Flask(__name__) @app.route('/index', methods=['GET', 'POST']) def index(): # 經過get方法只能拿到多個同名參數的第一個 name = request.form.get('username') pwd = request.form.get('password') # 經過getlist() 能夠獲取多個 name_list = request.form.getlist('username') return 'username = %s, password = %s, username_list = %s' % (name, pwd, name_list) if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
from flask import Flask, request app = Flask(__name__) @app.route('/index', methods=['GET', 'POST']) def index(): # 若是是請求體的數據不是表單格式的(如json格式),能夠經過request.data獲取 json_data = request.data return 'json_data = %s' % json_data if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
from flask import Flask, request app = Flask(__name__) @app.route('/index', methods=['GET', 'POST']) def index(): # args是用來提取url中的參數(查詢字符串) age = request.args.get('age') city = request.args.get('city') return 'age : %s, city : %s' % (age, city) if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
from flask import Flask, request app = Flask(__name__) @app.route('/', methods=['POST']) def upload(): # 使用files屬性來訪問保存在內存中或者文件系統中一個臨時的位置的這個上傳文件 file_obj = request.files.get('pic') # 使用save方法來保存剛剛獲取的上傳文件 file_obj.save('/home/python/圖片/upload.jpg') return '文件上傳完畢' if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
# coding:utf-8 # request中包含了前端發送過來的全部請求數據 from flask import Flask, request from werkzeug import secure_filename import os # 存儲上傳文件的路徑 UPLOAD_FOLDER = '/home/python/圖片/' # 容許的文件類型 ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif']) app = Flask(__name__) # 將路徑添加到配置中 app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER # 用來驗證用戶上傳的文件是不是容許的 def allowed_file(filename): # 判斷文件中是否有. and 用.只截取1次文件名獲得的一個列表,選擇列表第二個值看是否屬於被容許的文件類型 return '.' in filename and filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS @app.route('/', methods=['POST']) def upload(): # 使用files屬性來訪問保存在內存中或者文件系統中一個臨時的位置的這個上傳文件 file_obj = request.files.get('pic') # 判斷用戶是否上傳了文件 和 文件是不是容許的類型 if file_obj and allowed_file(file_obj.filename): filename = secure_filename(file_obj.filename) file_obj.save(os.path.join(UPLOAD_FOLDER, filename)) return '文件上傳完畢' else: return '文件上傳失敗' if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)