django 使用者登入 退出demo

2021-08-25 08:48:02 字數 2214 閱讀 3644

實現乙個具體的功能demo——登入、退出。當然,其實除了登入還有很多東西。這裡只是把系統登入退出部分功能拆解下來。

在login的templates目錄下建立兩個模板,分別是login.html和index.html,當使用者未登入時,跳轉到login.html頁面,登陸成功或者登入狀態,跳轉到index.html。

url的配置內容如下:

from django.conf.urls import url, include

from users.views import loginview,logoutview

urlpatterns = [

url(r'^login/$', loginview.as_view(), name='login'),

# 退出登入

url(r'^logout/$', logoutview.as_view(), name='logout'),

]

兩份配置共同定義了兩個可訪問的url:

看一下兩個頁面,做的很簡單也不美觀,主要為了說明功能。login.html如下:

其中用到了django的模板,用來通過url配置中的name引數反向求解,對於本例,就是http://ip:port/login/。}用來對映render給模板的引數,接下來的views.py會看到對應的**。然後是home.html

主頁歡迎,}

forms 模板如下:from django import forms

class loginform(forms.form):

username = forms.charfield(required=true)

password = forms.charfield(required=true, min_length=5)

login/views.py中的import如下

from django.contrib.auth import authenticate, login, logout

from .forms import loginform,

# 使用者登入

class loginview(view):

def get(self, request):

return render(request, 'login.html')

def post(self, request):

login_form = loginform(request.post)

if login_form.is_valid():

user_name = request.post.get('username', '')

password = request.post.get('password', '')

# 上面的 authenticate 方法 return user

user = authenticate(username=user_name, password=password)

if user is not none:

if user.is_active: # 使用者是否被啟用(is_active可以刪除多餘)

login(request, user)

return httpresponsepermanentredirect(reverse('index')) #跳轉

return render(request, 'login.html', )

return render(request, 'login.html', )

return render(request, 'login.html', )

# 使用者登出

class logoutview(view):

def get(self, request):

logout(request)

return httpresponsepermanentredirect(reverse('login'))

loginview的**實際上可以作為標準的login流程,首先獲取使用者名稱和密碼,然後通過authenticate方法進行校驗,如果該使用者存在,會返回使用者物件,通過login函式執行登入,如果使用者不存在,返回到login.html頁面。

詳解Django框架中使用者的登入和退出的實現

django 提供內建的檢視 view 函式用於處理登入和退出 以及其他奇技淫巧 但在開始前,我們來看看如何手工登入和退出。django提供兩個函式來執行django.contrib.auth 中的動作 authenticate 和login 認證給出的使用者名稱和密碼,使用 authenticat...

python使用者名稱密碼登入退出 使用者登入登出

一 功能需求分析 1.登入功能分析 1.1登入流程 1.2功能 乙個請求為乙個功能 登入頁面 登入功能 登出功能 二 登入頁面 1.介面設計 1.1.介面說明 類目 說明 請求方式 get url定義 usel login 引數格式 無引數 1.2返回結果 登入頁面 1.3 實現 三 登入功能 1....

html退出登入 退出登入 0152

使用者只需要向 spring security 專案中傳送 logout 退出請求即可。1 退出實現 實現退出非常簡單,只要在頁面中新增 log 退出登入為了實現更好的效果,通常新增退出的配置。預設的退出 url 為 logout,退出成功後跳轉到 login?logout 如果不希望使用預設值,可...