Flask——登錄驗證http請求GET方式實現案例

1 HTTP請求方式

TTP請求的方法:
GET:
    1). 獲取頁面信息;
    2). 可以提交數據信息;但是數據不安全;
    http://127.0.0.1:5000/login2/?username=westos&password=westos
POST:
    提交服務端需要的請求信息;有利於數據的安全性;

PUT:

DELETE:

2 render_template

html文件是構建網站的基石,一般情況,在路由訪問時,不會直接將html文件內容直接返回,而是將html文件保存到當前的templates目錄中,然後通過render_template方法調用。默認情況下,flask在程序文件夾中的templates子文件夾中尋找模版

@app.route('/login/')
def login():
    return  render_template('login.html')

3 重定向redirect

當用戶訪問某些網頁時,如果他還沒登錄,我們往往會把網頁重定向到登錄頁面,Flask 提供了redirect對象對其進行處理,如果用戶註冊了,我們將網頁重定向到首頁。代碼示例如下:

@app.route('/login2/')
def login2():
    # 獲取用戶輸入的用戶名
    username = request.args.get('username', None)
    password = request.args.get('password', None)
    # 邏輯處理, 用來判斷用戶和密碼是否正確;
    if username == 'root' and password == 'redhat':
        # 重定向到指定路由;
        return  redirect('/')
        # return "登錄成功"
    else:
        return  "登錄失敗"

4 html 文件中的form表單

設置登錄操作界面及form表單。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<h1>用戶登錄</h1>

<!--將form表單提交的數據傳輸給/login2/這個路由-->
<form action="/login2/">
    <!--相當於key值, 輸入的數據相當於value值;-->
    用戶: <input type="text" placeholder="用戶名" name="username"><br/>
    密碼: <input type="password" placeholder="密碼" name="password"><br/>
    <input type="submit"  value="登錄">

</form>
</body>
</html>

如上html代碼,可在form表單中對錶單中的數據進行路由選擇並提交路由。

5 登錄驗證實現完整代碼及結果展示

from flask import Flask, render_template, request, redirect
app=Flask(__name__)

@app.route('/')
def index():
    return  "<h1>主頁</h1>"

@app.route('/login/')
def login():
    return render_template('login.html')

@app.route('/login2/')
def login2():
    # 獲取用戶輸入的用戶名
    username = request.args.get('username', None)
    password = request.args.get('password', None)
    # 邏輯處理, 用來判斷用戶和密碼是否正確;
    if username == 'root' and password == 'redhat':
        # 重定向到指定路由;
        return  redirect('/')
        # return "登錄成功"
    else:
        return  "登錄失敗"

if __name__ == '__main__':
    app.run()

運行程序進入登錄頁面:
在這裏插入圖片描述
輸入用戶名和密碼登錄:
在這裏插入圖片描述
點擊登錄進入主頁:
在這裏插入圖片描述
後臺顯示:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章