一周學會Django5 Python Web開發 - Django5內置Auth認證系統-用戶登錄實現

鋒哥原創的Python Web開發 Django5視頻教程:

2024版 Django5 Python web開發 視頻教程(無廢話版) 玩命更新中~_嗶哩嗶哩_bilibili2024版 Django5 Python web開發 視頻教程(無廢話版) 玩命更新中~共計57條視頻,包括:2024版 Django5 Python web開發 視頻教程(無廢話版) 玩命更新中~、第2講 Django5安裝、第3講 Django5創建項目(用命令方式)等,UP主更多精彩視頻,請關注UP賬號。icon-default.png?t=N7T8https://www.bilibili.com/video/BV14Z421z78C/用戶登錄功能,后端驗證主要通過auth模塊提供的authenticate校驗方法,以及login登錄方法實現。

首先urls.py里加下映射:

# 跳轉登錄頁面path('auth/toLogin', helloWorld.views.to_login),# 提交登錄請求path('auth/login', helloWorld.views.login),

登錄頁面login.html:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>登錄頁面</title>
</head>
<body>
<form action="/auth/login" method="post">{% csrf_token %}<table><tr><th>用戶登錄</th></tr><tr><td>用戶名:</td><td><input type="text" name="username" value="{{ username }}"></td></tr><tr><td>密碼:</td><td><input type="password" name="password" value="{{ password }}"></td></tr><tr><td><input type="submit" value="提交"></td><td><font color="red">{{ errorInfo }}</font></td></tr></table>
</form>
</body>
</html>

網站首頁index.html,登錄成功后跳轉:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>網站首頁</title>
</head>
<body>
網站首頁,歡迎: {{ request.user }}
</body>
</html>

views.py里實現to_login和login方法。

通過auth.authenticate校驗用戶是否已經存在。校驗用戶成功后,返回的是一個封裝好的用戶對象;校驗錯誤則返回None

用戶對象is_active方法判斷用戶是否激活。

通過調用auth.login,用戶登錄成功之后,返回給客戶端登錄的憑證或者說是令牌、隨機字符串,則不需要我們去操作diango_session表,會自動創建session

當執行完auth.authenticateauth.login后,也就是登錄成功后,我們就可以通過request.user直接獲取到當前登錄的用戶對象數據

  • 登錄成功的情況下,該方法獲得的是登錄用戶對象

  • 登錄不成功的情況下,該方法獲得的是匿名對象AnonymousUser

def to_login(request):"""跳轉登錄頁面:param request::return:"""
?return render(request, 'auth/login.html')
?
?
def login(request):"""登錄處理:param request::return:"""username = request.POST.get('username')password = request.POST.get('password')# 通過auth模塊來檢驗加密后的密碼 ,校驗成功返回用戶對象,否則返回NoneresUser: User = auth.authenticate(request, username=username, password=password)if resUser and resUser.is_active:print(resUser, type(resUser))# 用戶登錄成功之后(返回給客戶端登錄的憑證或者說是令牌、隨機字符串)auth.login(request, resUser)return render(request, 'auth/index.html')else:return render(request, 'auth/login.html',context={"errorInfo": "用戶名或者密碼錯誤", "username": username, "password": password})

我們來測試下:瀏覽器輸入: http://127.0.0.1:8000/auth/toLogin 進入登錄頁面:

用戶名密碼輸入錯誤,提示報錯信息:

用戶名密碼輸入正確,則跳轉到主頁:

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

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

相關文章

JVM學習-內存泄漏

內存泄漏的理解和分類 可達性分析算法來判斷對象是否是不再使用的對象&#xff0c;本質都是判斷一上對象是否還被引用&#xff0c;對于這種情況下&#xff0c;由于代碼的實現不同就會出現很多內存泄漏問題(讓JVM誤以為此對象還在引用&#xff0c;無法回收&#xff0c;造成內存泄…

旭日X3與英偉達Orin NX通過TCP傳輸圖片

觀前提醒&#xff1a;本文主要內容為使用Python在局域網內建立TCP連接并傳輸圖片信息&#xff0c;計算機為一塊旭日X3和一塊英偉達Orin NX。 一、什么是TCP TCP&#xff08;傳輸控制協議&#xff09;是一種可靠的、面向連接的協議&#xff0c;它確保數據包的順序傳輸和完整性…

關于教務排課的那些事

在辦學過程中&#xff0c;你是否被如下問題困擾&#xff1f; 1、排課功率低&#xff1a; 為了確保師資資源得到充分利用&#xff0c;教務教師排課要求了解每一個全職和兼職教師&#xff0c;了解每一個人的時刻組織和帶班狀況&#xff0c;因而在排課的時分需求處理很多的信息&a…

【Java數據結構】二叉樹詳解(四)

&#x1f512;文章目錄&#xff1a; 1.????前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; 2.給定一個二叉樹, 找到該樹中兩個指定節點的最近公共祖先 2.1第一種思路 2.2第二種思路 3.根據一棵樹的前序遍歷與中序遍歷構造二叉樹 4.根據一棵樹的中序…

vite相關配置

1、vite開發環境和生產環境的環境變量配置 1、環境變量配置 vite本身會直接讀取為什么會讀取&#xff0c;因為含有dotenv第三方庫 &#xff0c;會直接讀取 .env文件&#xff0c; 2、css模塊化簡單處理 css:{modules:{localsConvention: "camselCaseOnly" // 打包配…

機器學習_決策樹與隨機森林

決策樹是一種常用的監督學習算法&#xff0c;既可以用于分類任務也可以用于回歸任務。決策樹通過遞歸地將數據集劃分成更小的子集&#xff0c;逐步建立樹結構。每個節點對應一個特征&#xff0c;樹的葉子節點表示最終的預測結果。構建決策樹的關鍵是選擇最佳的特征來分割數據&a…

圖文型LED顯示屏的結構與安裝

隨著科技的不斷進步&#xff0c;LED顯示屏已成為商業廣告、公共信息顯示等領域不可或缺的一部分。圖文型LED顯示屏以其獨特的優勢和多樣化的應用場景&#xff0c;受到了市場的廣泛歡迎。本文將詳細介紹圖文型LED顯示屏的結構特點、工作原理以及安裝指南。 1、圖文型LED顯示屏的…

Python項目開發實戰:看圖猜成語小程序(案例教程)

一、項目背景與概述 在現代社會,隨著智能手機的普及和移動互聯網的快速發展,移動應用(App)已經成為人們日常生活中不可或缺的一部分。看圖猜成語作為一種集知識性和娛樂性于一體的游戲,深受大眾喜愛。本項目旨在開發一個基于Python的看圖猜成語小程序,讓用戶能夠通過簡單…

跨境電商|Facebook Marketplace怎么做?

2016 年&#xff0c;Facebook打造了同名平臺 Facebook Marketplace。通過利用 Facebook 現有的龐大客戶群&#xff0c;該平臺取得了立竿見影的成功&#xff0c;每月訪問量將超過 10 億。對于個人賣家和小企業來說&#xff0c;Facebook Marketplace是一個不錯的銷貨渠道&#xf…

Java內部類、枚舉類、注解類

Java 是一種面向對象的編程語言&#xff0c;它支持多種類型的類&#xff0c;包括內部類、枚舉類和注解類 一、內部類&#xff08;Inner Class&#xff09;&#xff1a; 內部類是定義在另一個類內部的類。它可以訪問外部類的成員&#xff08;包括私有成員&#xff09;&#xff…

AIGC在移動APP開發中的應用及未來前景

隨著科技的不斷進步&#xff0c;人工智能生成內容&#xff08;AIGC&#xff0c;Artificial Intelligence Generated Content&#xff09;在移動應用開發中的應用越來越廣泛。AIGC不僅能提高開發效率&#xff0c;還能帶來更好的用戶體驗。本文將探討AIGC在移動APP開發中的應用及…

通過ssr-echarts,服務端生成echarts圖

ssr-echarts &#xff1a;一個開源項目&#xff0c;它能夠服務端渲染 ECharts 圖表&#xff0c;并直接生成 PNG 圖片返回。該項目提供了多種主題&#xff0c;并且支持 GET 和 POST 請求。如果參數較多&#xff0c;建議使用 POST 方法。用戶可以自己部署這個服務。 1. 服務端安裝…

Three.js-實現加載圖片并旋轉

1.實現效果 2. 實現步驟 2.1創建場景 const scene new THREE.Scene(); 2.2添加相機 說明&#xff1a; fov&#xff08;視場角&#xff09;&#xff1a;視場角決定了相機的視野范圍&#xff0c;即相機可以看到的角度范圍。較大的視場角表示更廣闊的視野&#xff0c;但可能…

第 10 章 nodelet(自學二刷筆記)

重要參考&#xff1a; 課程鏈接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 講義鏈接:Introduction Autolabor-ROS機器人入門課程《ROS理論與實踐》零基礎教程 10.4 nodelet ROS通信是基于Node(節點)的&#xff0c;Node使用方便、易于擴展&#xff0c;可以滿足ROS中大多…

SBOM是如何幫助醫療器械制造商提高產品透明度的?

SBOM&#xff08;軟件物料清單&#xff09;通過以下方式幫助醫療器械制造商提高產品透明度&#xff1a; 1. 詳細記錄軟件組成 SBOM詳細列出了醫療器械所使用的所有軟件組件、版本、作者、許可證信息等。這使得制造商能夠清晰地了解產品的軟件組成&#xff0c;包括每個組件的來…

基于springboot實現民族婚紗預定系統項目【項目源碼+論文說明】

基于springboot實現民族婚紗預定系統的設計演示 摘要 現代經濟快節奏發展以及不斷完善升級的信息化技術&#xff0c;讓傳統數據信息的管理升級為軟件存儲&#xff0c;歸納&#xff0c;集中處理數據信息的管理方式。本民族婚紗預定系統就是在這樣的大環境下誕生&#xff0c;其可…

【Emgu CV教程】10.15、FillPoly()不規則形狀填充顏色

文章目錄 一、概念二、填充不規則圖形1.原始素材2.代碼3.運行結果 二、最大輪廓填充顏色1.原始素材2.代碼3.運行結果 一、概念 圖像的連通域是指圖像中具有相同像素值并且位置相鄰的像素組成的區域&#xff0c;連通域分析是指在圖像中尋找出彼此互相獨立的連通域并將其標記出來…

【最新鴻蒙應用開發】——Want信息載體

信息傳遞載體Want 1、概述 上一章節我們學習了UIAbility組件 【最新鴻蒙應用開發】——一篇搞懂什么是UIAbility-CSDN博客 &#xff0c;其中組件間的交互傳遞信息的媒介就是Want&#xff0c;本章節我們來更加深入學習Want的相關知識。 Want是一種對象&#xff0c;用于在應用組…

2. JavaScript 語法和數據類型

1. 基礎 JavaScript不區分大小寫 2. 注釋 // 單行注釋/* 這是一個更長的&#xff0c;多行注釋 *//* 然而&#xff0c;你不能&#xff0c;/* 嵌套注釋 */ 語法錯誤 */3. 聲明 var 聲明一個變量&#xff0c;可選初始化一個值。 let 聲明一個塊作用域的局部變量&#xff0c;可…

ORM(對象關系映射)概念詳解

一、技術難點 ORM&#xff0c;即對象關系映射&#xff08;Object-Relational Mapping&#xff09;&#xff0c;它的技術難點主要體現在如何將面向對象編程中的類和對象高效地映射到關系型數據庫中的表和記錄。具體來說&#xff0c;有以下幾個方面的技術挑戰&#xff1a; 數據類…