日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Django用戶身份驗證完成示例代碼

瀏覽:30日期:2024-10-12 11:21:30

在這篇Django文章中,wom 將討論Django User 驗證,Django附帶了一個用戶認證系統。 它處理用戶帳戶,組,權限和基于cookie的用戶會話。 Django身份驗證系統同時處理身份驗證和授權。 簡要地說,身份驗證將驗證用戶是他們聲稱的身份,而授權則確定允許經過身份驗證的用戶執行的操作。

基本上,我們將創建登錄,注銷,忘記密碼和重置密碼功能。

身份驗證支持在django.contrib.auth中為Django contrib模塊。默認情況下,所需的配置已包含在django-admin startproject生成的settings.py中,它們由INSTALLED_APPS設置中列出的兩項組成:

1、“ django.contrib.auth”包含身份驗證框架的核心及其默認模型。

2、“ django.contrib.contenttypes”是Django內容類型系統,它允許將權限與您創建的模型相關聯。

以及MIDDLEWARE設置中的這些項目:

1、SessionMiddleware管理跨請求的會話。

2、AuthenticationMiddleware使用會話將用戶與請求相關聯。

有了這些設置后,運行命令manage.py migrate將為auth相關模型創建必要的數據庫表,并為已安裝的應用程序中定義的任何模型創建權限。

Django提供以下基于類的視圖來處理身份驗證。它們全部位于django.contrib.auth.views中:

LoginView:處理登錄表單并登錄用戶 LogoutView:注銷用戶

PasswordChangeView:處理表單以更改用戶密碼 PasswordChangeDoneView:用戶成功重定向到的視圖 PasswordResetView:允許用戶重置其密碼。 它 生成帶有令牌的一次性使用鏈接并將其發送給 用戶的電子郵件帳戶。

首先我們需要創建一個新的project工程:

django-admin startproject MyProject#apppython manage.py startapp MyApp #migratepython manage.py migrate #create a superuserpython manage.py createsuperuser

Login & LogoutView

首先,您需要在創建的應用程序中創建一個新的urls.py,并將其添加到您的文件中。

from django.urls import path, includefrom django.views.generic.base import TemplateViewurlpatterns = [ path(’accounts/’, include(’django.contrib.auth.urls’)), path(’’, TemplateView.as_view(template_name = ’home.html’), name = ’home’) ]

然后在主project下urls.py文件添加如下:

from django.contrib import adminfrom django.urls import path, include urlpatterns = [ path(’admin/’, admin.site.urls), path(’’, include(’MyApp.urls’))]

在帳戶應用程序的template目錄中創建一個新目錄,并將其命名為registration。 這是Django身份驗證視圖期望身份驗證模板所處的默認路徑。

django.contrib.admin模塊包含一些用于管理站點的身份驗證模板。 我們已將帳戶應用程序放置在INSTALLED_APPS設置的頂部,以便Django默認使用我們的模板,而不使用其他應用程序中定義的任何身份驗證模板。

在templates / registration目錄中創建一個新文件,將其命名為login.html,并向其中添加以下代碼:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Login</title></head><body> <h2>Login</h2> <p>Please login with your valid credentials</p><form action='' method='post' novalidate> {% csrf_token %} {{form.as_p}} <input type='submit' value='Login'> </form> <p><a href='http://m.b3g6.com/bcjs/{% url ’password_reset’ %}'>Reset Password</a> </p> </body></html>

Django默認使用django.contrib.auth.forms中的AuthenticationForm表單。 如果登錄失敗,則此表單嘗試對用戶進行身份驗證并引發驗證錯誤。

另外,我們已經在頂部添加了home.html網址。 您需要在注冊文件夾之外創建該文件,只需要在主模板中添加該文件,這些就是我們要添加到模板文件夾中的文件。 基本上,home.html用于重定向成功的登錄。

這是base.html

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title></head><body> {% block body %} {% endblock %}</body></html>

home.html代碼如下:

{% block body %} {% if user.is_authenticated %} Welcome {{user.username}}<p><a href='http://m.b3g6.com/bcjs/{% url ’logout’ %}'>Logout</a> </p> {% else %} <p><a href='http://m.b3g6.com/bcjs/{% url ’login’ %}' >Login</a></p> {% endif %} {% endblock %}

基本上,我們將驗證使用是否有效。

編輯項目的settings.py文件,并向其中添加以下代碼:

LOGIN_REDIRECT_URL = ’/’LOGOUT_REDIRECT_URL = ’/’

LOGIN_REDIRECT_URL:如果請求中沒有下一個參數,則告訴Django成功登錄后重定向哪個URL

LOGOUT_URL:用于重定向用戶以注銷的URL

密碼修改

這些是我們更改密碼的文件。 將這些文件添加到template / registration文件夾中。

password_change_form.html

{% extends ’base.html’ %} {% block body %} <h1>Change The Password</h1> <form action='' method='post'> {% csrf_token %} {{form.as_p}} <input type='submit' value='Change Password'></form> {% endblock %}

password_change_done.html

{% extends ’base.html’ %} {% block body %} <h1>Password Change Done</h1> <p>Your password changed successfully</p> {% endblock %}

重設密碼

在帳戶應用程序的templates / registration /目錄中添加一個新文件,并將其命名為password_reset_form.html。 向其添加以下代碼:

password_reset_form.html

{% extends ’base.html’ %} {% block body %} <h1>Password Reset Complete</h1> <p> Your password has been sent, you can <a href='http://m.b3g6.com/bcjs/{% url ’login’ %}'>Login</a> now </p>{% endblock %}

現在,在同一目錄中創建另一個文件,并將其命名為password_reset_email.html。 向其添加以下代碼:

{% extends ’base.html’ %} {% block body %} Password reset for emal . {{email}} . follow the link {{protocol}}://{{domain}}{% url ’password_reset_confirm’ uidb64=uid token=token %} {% endblock %}

password_reset_email.html模板將用于呈現發送給用戶的電子郵件,以重置其密碼。

在同一目錄中創建另一個文件,并將其命名為password_reset_done.html。 向其添加以下代碼:

{% extends ’base.html’ %} {% block body %} <h1>Password Reset Done</h1> We have emailed your instructions for setting your password. {% endblock %}

在同一目錄中創建另一個模板,并將其命名為password_reset_confirm.html。 向其添加以下代碼:

{% extends ’base.html’ %} {% block body %} <h1>Password Reset</h1> {% if validlink %} <form action='' method='post'> {% csrf_token %} {{form.as_p}} <input type='submit' value='Reset Password'> </form> {% else %}<p>Password reset email link was invalid, you can request a new one .</p> {% endif %}{% endblock %}

我們檢查提供的鏈接是否有效。 視圖PasswordResetConfirmView會設置此變量,并將其放在password_reset_confirm.html模板的上下文中。 如果鏈接有效,則顯示用戶密碼重置表格。

創建另一個模板,并將其命名為password_reset_complete.html。 在其中輸入以下代碼:

{% extends ’base.html’ %} {% block body %} <h1>Password Reset Complete</h1> <p> Your password has been sent, you can <a href='http://m.b3g6.com/bcjs/{% url ’login’ %}'>Login</a> now </p>{% endblock %}

在settings.py文件中加入email的信息:

if not DEBUG: EMAIL_BACKEND = ’django.core.mail.backends.smtp.EmailBackend’ EMAIL_HOST_USER = 'parwizforogh0@gmail.com' EMAIL_HOST = ’smtp.gmail.com’ EMAIL_PORT = 587 EMAIL_USE_TLS = True EMAIL_HOST_PASSWORD = 'Your Password' else: EMAIL_BACKEND = ( 'django.core.mail.backends.console.EmailBackend' )

啟動工程,打開頁面:

https://codeloop.org/wp-content/uploads/2020/03/django_login.png

登錄:

Django用戶身份驗證完成示例代碼

登錄成功:

Django用戶身份驗證完成示例代碼

到此這篇關于Django用戶身份驗證完成示例代碼的文章就介紹到這了,更多相關Django 身份驗證 內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Django
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产女优一区| 国产精品国产一区| 热三久草你在线| 日韩av在线免费观看不卡| 日韩中文欧美在线| 免费精品视频在线| 日韩中文字幕区一区有砖一区| 伊人久久成人| 99国产精品久久久久久久| 精品一区在线| 久久xxxx| 亚洲制服欧美另类| 日韩高清不卡一区二区| 国产精品一区二区av交换 | 桃色av一区二区| 久草免费在线视频| 中文字幕人成乱码在线观看| 免费视频一区三区| 亚洲视频www| 亚洲精品福利| 国产免费播放一区二区| 国产精品a级| 福利在线一区| 激情欧美亚洲| 亚洲尤物在线| 亚洲欧美日本国产| 久久av偷拍| 日韩久久电影| 欧美~级网站不卡| 亚洲视频二区| 国产精品亚洲四区在线观看| 欧美精品99| 日韩三区免费| 午夜日本精品| 国产日产精品一区二区三区四区的观看方式| 国产高清视频一区二区| 国产资源在线观看入口av| 欧美色图一区| 日韩va亚洲va欧美va久久| 麻豆一区二区三| 一区二区三区四区日本视频| 国产精品毛片在线| 国产亚洲人成a在线v网站| 国产一区二区三区亚洲| 欧美亚洲在线日韩| 亚洲精品美女91| 日韩精品欧美成人高清一区二区| 麻豆精品蜜桃视频网站| 亚洲国产影院| 青青草伊人久久| 99久久视频| 日韩欧乱色一区二区三区在线| 精品一区二区三区在线观看视频| 黄色av一区| 国产极品一区| 一区在线视频观看| 国产欧美自拍| 久久免费国产| 91成人小视频| 婷婷精品进入| 国产午夜久久av| 中文字幕在线视频久| 91成人精品| 人人爱人人干婷婷丁香亚洲| 亚洲91视频| 欧美一区二区三区久久| 精品国产一区二| 另类av一区二区| 国产在线不卡一区二区三区| 亚洲欧美日韩高清在线| 日本aⅴ精品一区二区三区 | 韩国女主播一区二区三区| 好看的av在线不卡观看| 91嫩草精品| av在线日韩| 欧美日韩夜夜| 欧美在线影院| 精品国产美女a久久9999| 水蜜桃久久夜色精品一区的特点| 国产一区一一区高清不卡| 亚洲欧美专区| 亚洲福利一区| 精品视频一区二区三区在线观看| 免费成人av在线播放| 久久久久久色| 视频一区中文| 国产在线一区不卡| 日韩欧美三区| 日韩电影免费网址| 日韩精品第二页| 亚洲福利免费| 国产精品chinese| 亚洲日本久久| 亚洲va中文在线播放免费| 综合视频一区| 成人羞羞视频在线看网址| 国产精品主播| 美女少妇全过程你懂的久久| 欧美精品三级在线| 日韩视频精品在线观看| 精品欠久久久中文字幕加勒比| 日韩一区二区久久| 国产精品久久观看| 国产精品a级| 欧美日韩国产传媒| 麻豆免费精品视频| 欧美中文高清| 国产精品腿扒开做爽爽爽挤奶网站| 免费亚洲婷婷| 一区二区电影在线观看| 国产精品老牛| 成人精品中文字幕| 另类综合日韩欧美亚洲| 日本视频中文字幕一区二区三区| 国产精品老牛| 亚洲精品.com| 日本色综合中文字幕| 国产亚洲在线| 久久久久久婷| 国产视频久久| 狠狠爱成人网| 婷婷成人在线| 色偷偷偷在线视频播放| 精品三级在线观看视频| 国产精品亚洲四区在线观看| 亚洲一区二区三区久久久| 99久久久久国产精品| 私拍精品福利视频在线一区| 美腿丝袜亚洲一区| 日韩1区2区3区| 亚洲精品亚洲人成在线观看| 亚洲精品女人| 日韩精品免费一区二区夜夜嗨| 国产亚洲在线| 国产精品第一国产精品| 欧美精品观看| 中文亚洲免费| 狠狠爱www人成狠狠爱综合网| 伊人久久亚洲热| 亚洲激情av| 亚洲四虎影院| 中文字幕一区二区av| 视频在线观看一区| 九一精品国产| 欧美1区2区3区| 美女少妇全过程你懂的久久| 久久天堂成人| 香蕉久久精品| 午夜欧美精品| 99久久亚洲精品蜜臀| 欧美另类专区| 国产亚洲激情| 欧美亚洲三级| 国产精品欧美三级在线观看| 日韩二区三区在线观看| 麻豆精品网站| 在线国产精品一区| 免费在线看一区| 亚洲精品在线a| 日本va欧美va欧美va精品| 国产欧美在线观看免费| 国产精品最新| 日韩av二区| 欧美成人午夜| 欧美aa国产视频| 亚洲国内精品| 美女av一区| 欧美aa在线观看| 欧美日韩一区二区综合 | 国产探花在线精品一区二区| 美女视频免费精品| 日本黄色精品| 亚洲福利一区| 深夜日韩欧美| 国产欧美丝祙| 久久久91麻豆精品国产一区| 国产精品亚洲欧美日韩一区在线| 精品国产不卡一区二区| 国产无遮挡裸体免费久久| 激情中国色综合| 亚洲在线电影| 国产欧美三级| 国产精品二区不卡| 国产精品视区| 欧美在线日韩| 成人午夜在线| 日韩视频久久| 日韩在线黄色| 国产精品亚洲人成在99www| 91青青国产在线观看精品| 亚洲作爱视频| 国产日韩欧美一区| 婷婷精品在线| 免费亚洲一区| 日韩精品dvd| 亚洲精品高潮| 成人福利av| 免费成人性网站| 国产在线观看91一区二区三区| 人人精品人人爱|