Python-Flask實現登錄

Python-Flask實現登錄

  • Python-Flask實現登錄
    • 項目結構
    • Flask藍圖路由
    • 項目代碼

Python-Flask實現登錄

項目結構

在這里插入圖片描述

Flask藍圖路由

from flask import Blueprint, render_template, request, sessionac = Blueprint('account', __name__)@ac.route('/login', methods=['GET', 'POST'])
def login():

項目代碼

  • app.py
from flask2 import create_appapp = create_app()
if __name__ == '__main__':app.run()

*init.py

import uuidfrom flask import Flaskdef create_app():app = Flask(__name__)app.secret_key = str(uuid.uuid4())# 注冊藍圖from .views import accountfrom .views import orderapp.register_blueprint(account.ac)app.register_blueprint(order.od)return app

*account.py

from flask import Blueprint, render_template, request, session
from werkzeug.utils import redirectfrom utils import dbac = Blueprint('account', __name__)@ac.route('/login', methods=['GET', 'POST'])
def login():if request.method == 'GET':return render_template("login.html")# 獲取表單提交的手機號密碼role = request.form.get("role")mobile = request.form.get("mobile")pwd = request.form.get("pwd")user_dict = db.fetchone("select * from user where role = %s and mobile = %s and password = %s", [role, mobile, pwd])print(user_dict)if user_dict:session["user_info"] = {'role': user_dict['role'], 'mobile': user_dict['mobile'], 'real_name': user_dict['real_name']}return redirect("/order/list")return render_template("login.html", error="用戶名密碼錯誤")

*order.py

from flask import Blueprint, sessionod = Blueprint('order', __name__)@od.route('/order/list')
def order_list():user_info = session.get("user_info")print(user_info, type(user_info))return "訂單列表"
  • login.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>登錄</title>
</head>
<body>
<h1>用戶登錄</h1>
<form method="post" action="/login"><select name="role"><option value="1">客戶</option><option value="2">管理員</option></select><input type="text" name="mobile" placeholder="手機號"/><input type="password" name="pwd" placeholder="密碼"/><input type="submit" value="提交"><span style="color:red">{{ error }}</span>
</form>
</body>
</html>
  • db.py
import pymysql
from dbutils.pooled_db import PooledDB
from pymysql import cursorsPOOl = PooledDB(creator=pymysql,maxconnections=10,mincached=2,maxcached=5,blocking=True,setsession=[],ping=0,host="127.0.0.1",port=3306,user="root",passwd="root",charset="utf8",db="python-flask"
)def fetchone(sql, params):conn = POOl.connection()cursor = conn.cursor(cursor=cursors.DictCursor)cursor.execute(sql, params)result = cursor.fetchone()cursor.close()conn.close()return result

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/909328.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/909328.shtml
英文地址,請注明出處:http://en.pswp.cn/news/909328.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

libcuckoo 介紹和使用指南

文章目錄 libcuckoo 介紹和使用指南什么是 libcuckoo&#xff1f;主要特點安裝方法從源碼安裝 基本使用方法創建哈希表并發操作示例 高級功能自定義哈希函數和比較函數更新操作大小和統計信息 性能考慮適用場景注意事項 libcuckoo 介紹和使用指南 libcuckoo 是一個高性能、并發…

TIA Portal V20HMI仿真時數值無法寫入虛擬plc解決教程

在博圖 V20 中使用 S7-PLCSIM Advanced 仿真 S7-1500 Advanced V5.0 PLC&#xff0c;同時使用 WinCC Runtime Advanced 仿真 HMI 時出現“連接中斷”且無法寫入數值&#xff0c;而單獨使用 S7-PLCSIM (Classic) 仿真 PLC 正常&#xff0c;這是一個非常典型且令人困擾的問題。問…

微型導軌在實驗室場景中的多元應用

在實驗室環境中&#xff0c;精密儀器與設備的性能往往取決于微米甚至納米級的運動控制能力。微型導軌以其緊湊結構、低摩擦特性及高定位精度&#xff0c;成為光學實驗臺、顯微操作平臺、半導體檢測設備等核心裝置的“隱形支撐者”。 自動化分析儀&#xff1a;微型導軌用于控制樣…

認識CMake并使用CMake構建自己的第一個項目

1.CMake的作用和優勢 跨平臺支持&#xff1a;CMake支持多種操作系統和編譯器&#xff0c;使用同一份構建配置可以在不同的環境中使用 簡化配置&#xff1a;通過CMakeLists.txt文件&#xff0c;用戶可以定義項目結構、依賴項、編譯選項等&#xff0c;無需手動編寫復雜的構建腳本…

Neo4j批量數據導入完全指南:高效處理大規模數據

Neo4j批量數據導入完全指南&#xff1a;高效處理大規模數據 Neo4j作為領先的圖數據庫&#xff0c;在處理大規模數據導入時需要特別的技術和方法。本文將全面介紹Neo4j批量導入數據的各種技術方案&#xff0c;幫助您選擇最適合業務場景的導入方式。 一、Neo4j批量導入的應用場…

Acrobat 首選項配置:從注冊表到鎖定機制

管理員通常通過首選項和屬性在部署前配置安裝程序&#xff0c;使受控機器共享必要設置。Acrobat和Reader共享通用首選項集且配置方式相似。由于每臺機器的用戶界面配置不可擴展&#xff0c;Adobe提供兩大配置資源&#xff1a; 需知事項&#xff1a; 文檔示例多使用Windows注冊…

零基礎設計模式——行為型模式 - 中介者模式

第四部分&#xff1a;行為型模式 - 中介者模式 (Mediator Pattern) 接下來&#xff0c;我們學習中介者模式。這個模式用一個中介對象來封裝一系列的對象交互。中介者使各個對象不需要顯式地相互引用&#xff0c;從而使其耦合松散&#xff0c;而且可以獨立地改變它們之間的交互…

Day01_C數據結構

01.數據結構 02.段錯誤出現的四種場景 02.實現順序表的頭插、尾插、頭刪、尾刪(釋放順序表) main.c #include "seq.h" int main(){ seq_p Screate_seqlist(); inputall(S); insert_head(S); dele…

觸覺智能RK3576核心板,工業應用之4K超高清HDMI IN視頻輸入

在工業自動化、醫療影像、軌道交通、電力調度等行業&#xff0c;對高質量視覺信號的實時捕捉和分析需求日益提高。傳統工業相機的低分辨率采集模糊了關鍵細節&#xff0c;延遲的處理過程導致生產環節無法形成閉環控制&#xff0c;讓不同硬件之間的協作障礙重重。 觸覺智能RK35…

清新文藝手繪學習教育培訓競標匯報PPT模版分享

簡約手繪花朵PPT模版&#xff0c;讀書學習教育培訓學習總結設計PPT模版&#xff0c;商業競標企業創業總結匯報演講報告PPT模版&#xff0c;創意動物卡通PPT匯報模版&#xff0c;學術報告PPT模版 清新文藝手繪學習教育培訓競標匯報PPT模版分享

【搜狗輸入法】如何使用自定義標點設置來輸出直角引號

【搜狗輸入法】如何使用自定義標點設置來輸出直角引號 前言&#xff1a; 起因是&#xff0c;我在學習Markdown的語法規范的時候 需要用到直角引號「」 但是鍵盤沒法直接打出來&#xff0c;就想用搜狗輸入法的自定義標點 結果發現這功能完全是個雞肋&#xff0c;沒法用 一…

HarmonyOS5 運動健康app(二):健康跑步(附代碼)

一、數據模型&#xff1a;構建運動記錄的數字骨架 代碼通過RunRecord接口定義了跑步數據的核心結構&#xff1a; interface RunRecord {id: string; // 記錄唯一標識date: Date; // 跑步日期distance: number; // 距離&#xff08;公里&#xff09;duratio…

29-Oracle 23ai Flashback Log Placement(閃回日志靈活配置)

小伙伴們有沒有被各種存儲路徑滿導致的業務崩&#xff0c;半夜起來清理的經歷。一不小心 FRA寫滿了&#xff0c;導致了實例hang住。 OCM考試&#xff0c;時不時就會冒出來這個直接給instance hang&#xff0c;本就卡的環境中腦袋都卡殼、無從下手&#xff0c;一臉懵直接崩。 …

React表單處理:如何獲取輸入框(input)的值?(受控組件)

系列回顧&#xff1a; 在前面的文章中&#xff0c;我們已經掌握了State、Props、事件處理、列表渲染和條件渲染。我們的應用已經能展示動態內容并響應用戶的點擊。現在&#xff0c;我們要 tackling 一個非常常見的需求&#xff1a;如何獲取用戶在表單輸入框&#xff08;<inp…

探索現代 Web 開發:從 HTML5 到 Vue.js 的全棧之旅

在當今快速發展的互聯網時代&#xff0c;Web 開發已經成為構建數字世界的重要基石。無論是企業級應用、社交媒體平臺&#xff0c;還是個人博客和電商平臺&#xff0c;Web 技術都在背后默默支撐著這些系統的運行。隨著前端技術的不斷演進&#xff0c;開發者們已經不再局限于傳統…

ElasticSearch聚合查詢從15秒到1.2秒的深度優化實踐

一、問題背景 在金融風控場景中,我們需要對90天內的交易數據進行多維度聚合分析(按風險等級、地區、金額分段等)。隨著數據量增長到日均3000萬+記錄,原有查詢響應時間逐漸惡化至15秒以上,嚴重影響了業務決策效率。 二、原始架構性能分析 1. 集群拓撲 # 原單節點配置 N…

2025.06.09【讀書筆記】|PromptBio:讓生信分析更簡單的AI平臺

文章目錄 一、PromptBio 是什么&#xff1f;二、主要功能介紹1. 對話式智能體&#xff0c;像聊天一樣做分析2. 自動化工作流&#xff0c;省時省力3. 數據管理一站式搞定4. 機器學習也能一鍵搞定5. “無代碼”到“全代碼”&#xff0c;人人都能用 三、適合哪些人用&#xff1f;四…

實戰解析:如何用克魔(KeyMob)等工具構建iOS應用穩定性與數據可觀測體系

在iOS開發項目逐漸走向復雜化的今天&#xff0c;團隊對“可觀測性”的要求正不斷提升。開發者不僅要知道App是否運行正常&#xff0c;更要明確“為什么異常、在哪里異常、是否可復現”。傳統的調試工具往往側重單一維度&#xff0c;要么是資源監控、要么是日志分析&#xff0c;…

如何輕松實現多源混算報表

報表作為綜合業務&#xff0c;數據來源多種多樣。傳統實現多源混合查詢報表要通過 ETL 將數據同庫&#xff0c;但這種方式數據時效性太差使用場景受限。通過邏輯數倉能獲得較強的數據實時性&#xff0c;但體系又過于沉重&#xff0c;為報表業務搭建邏輯數倉有點得不償失。需要一…

Docker|簡單入門

文章目錄 Docker簡介Docker和虛擬機的聯系和區別基本原理和概念鏡像容器倉庫 Docker安裝配置容器化和Dockerfile實踐環節Docker Compose Docker簡介 Docker是一個用于構建build、運行run、傳送share應用程序的平臺&#xff0c;可以把應用程序打包成一個個的集裝箱&#xff0c;…