文章目錄
▍Flask 接收 GET 方式的網頁資料
GET 取得參數方式有三種:
1. request.args.get(‘name’)
2. request.values.get(‘name’)
3. def index_id(id)
方法一:request.args.get(‘name’)
from flask import Flask, request
from flask import render_template
app = Flask(__name__)
#Type 1
@app.route("/", methods=['GET'])
def index():
name = request.args.get('name')
return "Hello"+name
if __name__ == '__main__':
app.debug = True
app.run()
方法二:利用 request.values.get(‘name’)
rom flask import Flask, request
from flask import render_template
app = Flask(__name__)
#Type 2
@app.route("/", methods=['GET'])
def index():
name = request.values.get('name')
return "Hello" + name
if __name__ == '__main__':
app.debug = True
app.run()
方法三:利用 def index_id(id)
from flask import Flask, request
from flask import render_template
app = Flask(__name__)
#Type 3
@app.route("/<int:id>", methods=['GET'])
def index_id(id):
return "Hello"+str(id)
if __name__ == '__main__':
app.debug = True
app.run()
如果要將取得資料再傳入到html內,可以用render_template(‘abc.html’, name_template=name),將參數帶回頁面
from flask import Flask, request
from flask import render_template
app = Flask(__name__)
#將GET取得資料,傳到html內
@app.route("/name", methods=['GET'])
def index_name():
name = request.args.get('name')
return render_template('abc.html', name_template=name)
if __name__ == '__main__':
app.debug = True
app.run()
▍Flask 接收 POST 方式的網頁資料
POST 取得參數方式有兩種:
1. request.form.get(‘username’)
2. request.values.get(‘username’)
開始前先建立 html,裡面寫一個簡單的 form,當使用者按下 submit 後會將參數username 傳送到指定網址
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello Page</title>
</head>
<body>
<form method='post' action="/post_submit">
<input type='text' name='username'>
<button type='submit'>Submit</button>
</form>
</body>
</html>
方法一:利用 request.form.get(‘username’)
當使用者在網頁上點擊 submit 按鈕後,會傳送 POST 方法的 http,我們在 Flask sever 中使用 request.values.get(‘username’) 來接收參數
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route("/post_submit", methods=['GET', 'POST'])
def submit():
if request.method == 'POST':
return 'Hello ' + request.form.get('username')
return render_template('post_submit.html')
if __name__ == '__main__':
app.debug = True
app.run()
方法二:利用 request.values.get(‘username’)
這邊只是將剛剛的 request.form 修改成 request.values,和方法一道理都是一樣的
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route("/post_submit", methods=['GET', 'POST'])
def submit():
if request.method == 'POST':
return 'Hello ' + request.values.get('username')
return render_template('post_submit.html')
if __name__ == '__main__':
app.debug = True
app.run()
最後就是運行指令:python main.py 就完成囉!
關於 Flask 教學的延伸閱讀:
▍關於 Flask 教學系列目錄:
▍其他 Flask 相關教學:
- 【Flask教學系列】Flask 為甚麼需要 WSGI 與 Nginx
- 【Flask教學系列】Flask-SQLAlchemy 資料庫連線&設定入門 (一)
- 【Flask教學系列】Flask-JWT-Extended 實作
- 【Flask教學系列】實作 Flask CORS
- 【Flask教學系列】實作 Flask CSRF Protection
- 【Flask教學系列】實作 Dockerfile + nginx + ssl + Flask 教學 (附GitHub完整程式)
那 [Flask教學] 簡單的 GET 和 Post 方法取得 Flask 網頁資料 就到這邊告一段落,感謝收看!
有關Max行銷誌的最新文章,都會發佈在Max的Facebook粉絲專頁,如果想看最新更新,還請您按讚或是追蹤唷!