個人部落格四 註冊登入退出功能後台開發

2021-09-12 17:32:24 字數 3871 閱讀 4778

宣告:本部落格的註冊登入退出功能將使用django-allauth,參考資源如下:

django-allaut**檔

django-allauth教程

# 《新增storm相關應用》

'storm',

# # 《新增allauth相關應用》

'django.contrib.sites',

'allauth',

'allauth.account',

'allauth.socialaccount',

'allauth.socialaccount.providers.github',

# ]注意:allauth對於站點設定django.contrib.sites有依賴,你必需也把它加入進去,同時設定site_id

# 多站點框架:

# 位於django.contrib.sites的site。

# site_id指定與特定配置檔案相關聯的site物件之資料庫的id。

site_id = 1

# 設定登入和註冊成功後重定向的頁面,預設是/accounts/profile/

login_redirect_url = "/"

# email setting

# 禁用註冊郵箱驗證

account_email_verification = 'none'

# 登入方式,選擇使用者名稱或者郵箱登入

account_authentication_method = "username_email"

# 設定使用者註冊的時候必須填寫郵箱位址

account_email_required = true

# 登出直接退出,不用確認

account_logout_on_get = true

你也可以新增其它設定選項來實現你所想要的功能, 比如設定郵件確認過期時間,限制使用者使用錯誤密碼登入的持續時間。

# 指定要使用的登入方法(使用者名稱、電子郵件位址或兩者之一)

account_authentication_method (="username" | "email" | "username_email")

# 郵件確認郵件的截止日期(天數)

account_email_confirmation_expire_days (=3)

# 註冊中郵件驗證方法:「強制(mandatory)」,「可選(optional)」或「否(none)」之一

account_email_verification (="optional")

# 郵件傳送後的冷卻時間(以秒為單位)

account_email_confirmation_cooldown (=180)

# 登入嘗試失敗的次數

account_login_attempts_limit (=5)

# 從上次失敗的登入嘗試,使用者被禁止嘗試登入的持續時間

account_login_attempts_timeout (=300)

# 更改為true,使用者一旦確認他們的電子郵件位址,就會自動登入

account_login_on_email_confirmation (=false)

# 更改或設定密碼後是否自動退出

account_logout_on_password_change (=false)

# 更改為true,使用者將在重置密碼後自動登入

account_login_on_password_reset (=false)

# 控制會話的生命週期,可選項還有:false,true

account_session_remember (=none)

# 使用者註冊時是否需要輸入郵箱兩遍

account_signup_email_enter_twice (=false)

# 使用者註冊時是否需要使用者輸入兩遍密碼

account_signup_password_enter_twice (=true)

# 使用者不能使用的使用者名稱列表

account_username_blacklist (=)

# 加強電子郵件位址的唯一性

account_unique_email (=true)

# 使用者名稱允許的最小長度的整數

account_username_min_length (=1)

# 使用從社會帳戶提供者檢索的字段(如使用者名稱、郵件)來繞過登錄檔單

socialaccount_auto_signup (=true)

# 設定登入後跳轉鏈結

login_redirect_url (="/")

# 設定退出登入後跳轉鏈結

account_logout_redirect_url (="/")

urlpatterns = [

url(r'^admin/', admin.site.urls),

# allauth

url(r'^accounts/', include('allauth.urls')),

# storm

url('', include('storm.urls', namespace='blog')), # blog

]

可以訪問哪個路由,取決於,blog/settings.py中allauth設定資訊

註冊

登入

下面是django_allauth所有內建的urls,均可以訪問的。可以去allauth/account/urls.py檢視

# 登入

/accounts/login/

# 註冊

/accounts/signup/

# 重置密碼

/accounts/password/reset/

# 退出登入

/accounts/logout/

# 設定密碼 

/accounts/password/set/

# 改變密碼(需登入)

/accounts/password/change/

# 使用者可以新增和移除email,並驗證

/accounts/email/

# 管理第三方賬戶

/accounts/social/connections/

使用者詳細資訊是沒有的

/accounts/profile/
如果我希望使用者在註冊時提供更多資訊(比如公司名、**、住址等)

如果使用者在註冊後需要修改個人資訊怎麼辦?

由於每個開發者對使用者所需提供的額外資訊需求是不一樣的,所以沒有提供這個檢視和url。

因此django-allauth並沒有提供使用者詳情應用

使用者詳情請參考:

[個人部落格五|使用者個人資料profile擴充套件]

個人部落格四 註冊登入退出功能後台開發

宣告 本部落格的註冊登入退出功能將使用django allauth,參考資源如下 django allaut 檔 django allauth教程 新增storm相關應用 storm 新增allauth相關應用 django.contrib.sites allauth allauth.account...

個人部落格四 註冊登入退出功能後台開發

宣告 本部落格的註冊登入退出功能將使用django allauth,參考資源如下 django allaut 檔 django allauth教程 新增storm相關應用 storm 新增allauth相關應用 django.contrib.sites allauth allauth.account...

後台筆記3(登入退出功能樣式 了解token)

為什麼用token來記錄登入狀態,而不用session與cookie?如果存在跨域問題就用token來維持登入狀態,如果不存在跨域問題就用cookie和session。token的原理?這五步還是要記住的 token用來儲存登入狀態的,可以通過token驗證這個人是否登入,是登入成功後的唯一身份令牌...