import os
from flask import Flask, render_template, request, redirect,session
app = Flask(__name__) # __name__
app.secret_key = "!@#$%^&*()" # 加密
app.debug = True # 開啟Debug模式
@app.route("/login", methods=["GET", "POST"]) # 405 請求方式不被允許
def login():
# 從request中取出請求方式
# print(request.method)
# 判斷請求方式 GET render POST 處理
if request.method == "GET":
# 在Django request.GET 取出 URL 中的參數
# 在Flask 獲取URL 中的參數
# print(request.url) # 請求地址
# print(request.url_charset) # URL 編碼方式
# print(request.url_root) # 請求地址 完整請求地址 host
# print(request.url_rule) # 請求路由地址
# print(request.values.to_dict()) # 接收所有(GET,POST)請求中的數據,包含了 URL 和 FormData 中的數據
# print(request.args.get("id")) # 獲取URL中的數據 字符串
return render_template("login.html")
if request.method == "POST":
# 在Django request.POST 取出 FormData (Form表單)
# 在Flask 獲取FormData request.form
# print(request.form.get("username"))
# print(request.form.to_dict())
# 獲取一個 FileStorage Flask文件特殊對象
# print(request.files.get("my_file"))
# my_file = request.files.get("my_file")
# new_file = os.path.join("xht",my_file.filename)
# my_file.save(new_file)
# 獲取其他數據
# request.headers
# request.cookies
# request.path == request.url_rule
# request.host == "127.0.0.1:9527"
# request.host_url == "http://127.0.0.1:9527/"
# 特殊提交方式數據獲取
# Content-Type:application/json
# request.json 獲取Content-Type:application/json時提交的數據
# Content-Type 無法被識別 或 不包含Form字眼
# request.data 獲取 原始請求體中的數據 b""
if request.form.get("username") == "Alexander.DSB.Li":
session["user"] = request.form.get("username")
return redirect("/")
@app.route("/")
def index():
print(session.get("user"))
return render_template("index.html")
if __name__ == '__main__':
app.run("0.0.0.0", 9527)
# 監聽地址 和 端口