個(gè)人博客四|注冊(cè)登錄退出功能后臺(tái)開發(fā)

聲明:本博客的注冊(cè)登錄退出功能將使用django-allauth芭挽,參考資源如下:
django-allauth文檔
django-allauth教程

1、安裝django-allauth

pip install django-allauth

安裝django-allauth

2师骗、配置信息

安裝后設(shè)置blog/settings.py邪乍,將allauth相關(guān)APP加入到INSTALLED_APP里去定庵。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # <添加storm相關(guān)應(yīng)用>
    'storm',
    # <storm--end--->
    
    # <添加allauth相關(guān)應(yīng)用>
    'django.contrib.sites',
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'allauth.socialaccount.providers.github',
    # <allauth--end--->
]

注意:allauth對(duì)于站點(diǎn)設(shè)置django.contrib.sites有依賴议谷,你必需也把它加入進(jìn)去,同時(shí)設(shè)置SITE_ID

SITE_ID沒必要深入了解憋活,目前不涉及多站點(diǎn)岂津。目前能涉及到的是當(dāng)出現(xiàn)"SocialApp matching query does not exist"這種報(bào)錯(cuò)的時(shí)需要更換SITE_ID值

3、allauth 基本設(shè)置

# 多站點(diǎn)框架:
# 位于django.contrib.sites的site悦即。
# SITE_ID指定與特定配置文件相關(guān)聯(lián)的site對(duì)象之?dāng)?shù)據(jù)庫(kù)的ID吮成。
# 當(dāng)出現(xiàn)"SocialApp matching query does not exist",這種報(bào)錯(cuò)的時(shí)候就需要更換這個(gè)ID
SITE_ID = 1
# 設(shè)置登錄和注冊(cè)成功后重定向的頁(yè)面辜梳,默認(rèn)是/accounts/profile/
LOGIN_REDIRECT_URL = "/"
# Email setting
# 禁用注冊(cè)郵箱驗(yàn)證
ACCOUNT_EMAIL_VERIFICATION = 'none'
# 登錄方式粱甫,選擇用戶名或者郵箱登錄
ACCOUNT_AUTHENTICATION_METHOD = "username_email"
# 設(shè)置用戶注冊(cè)的時(shí)候必須填寫郵箱地址
ACCOUNT_EMAIL_REQUIRED = True
# 登出直接退出,不用確認(rèn)
ACCOUNT_LOGOUT_ON_GET = True

4作瞄、django-allauth常見設(shè)置選項(xiàng)

你也可以添加其它設(shè)置選項(xiàng)來(lái)實(shí)現(xiàn)你所想要的功能茶宵, 比如設(shè)置郵件確認(rèn)過期時(shí)間,限制用戶使用錯(cuò)誤密碼登錄的持續(xù)時(shí)間宗挥。

# 指定要使用的登錄方法(用戶名乌庶、電子郵件地址或兩者之一)
ACCOUNT_AUTHENTICATION_METHOD (="username" | "email" | "username_email")

# 郵件確認(rèn)郵件的截止日期(天數(shù))
ACCOUNT_EMAIL_CONFIRMATION_EXPIRE_DAYS (=3)

# 注冊(cè)中郵件驗(yàn)證方法:“強(qiáng)制(mandatory)”,“可選(optional)”或“否(none)”之一
ACCOUNT_EMAIL_VERIFICATION (="optional")

# 郵件發(fā)送后的冷卻時(shí)間(以秒為單位)
ACCOUNT_EMAIL_CONFIRMATION_COOLDOWN (=180)

# 登錄嘗試失敗的次數(shù)
ACCOUNT_LOGIN_ATTEMPTS_LIMIT (=5)

# 從上次失敗的登錄嘗試,用戶被禁止嘗試登錄的持續(xù)時(shí)間
ACCOUNT_LOGIN_ATTEMPTS_TIMEOUT (=300)

# 更改為True契耿,用戶一旦確認(rèn)他們的電子郵件地址安拟,就會(huì)自動(dòng)登錄
ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION (=False)

# 更改或設(shè)置密碼后是否自動(dòng)退出
ACCOUNT_LOGOUT_ON_PASSWORD_CHANGE (=False)

# 更改為True,用戶將在重置密碼后自動(dòng)登錄
ACCOUNT_LOGIN_ON_PASSWORD_RESET (=False)

# 控制會(huì)話的生命周期宵喂,可選項(xiàng)還有:False,True
ACCOUNT_SESSION_REMEMBER (=None)

# 用戶注冊(cè)時(shí)是否需要輸入郵箱兩遍
ACCOUNT_SIGNUP_EMAIL_ENTER_TWICE (=False)

# 用戶注冊(cè)時(shí)是否需要用戶輸入兩遍密碼

ACCOUNT_SIGNUP_PASSWORD_ENTER_TWICE (=True)

# 用戶不能使用的用戶名列表
ACCOUNT_USERNAME_BLACKLIST (=[])

# 加強(qiáng)電子郵件地址的唯一性
ACCOUNT_UNIQUE_EMAIL (=True)

# 用戶名允許的最小長(zhǎng)度的整數(shù)
ACCOUNT_USERNAME_MIN_LENGTH (=1)

# 使用從社會(huì)帳戶提供者檢索的字段(如用戶名糠赦、郵件)來(lái)繞過注冊(cè)表單
SOCIALACCOUNT_AUTO_SIGNUP (=True)

# 設(shè)置登錄后跳轉(zhuǎn)鏈接
LOGIN_REDIRECT_URL (="/") 

# 設(shè)置退出登錄后跳轉(zhuǎn)鏈接
ACCOUNT_LOGOUT_REDIRECT_URL (="/") 

5、配置allauth路由

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

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

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

6锅棕、運(yùn)行效果

可以訪問哪個(gè)路由拙泽,取決于,blog/settings.py中allauth設(shè)置信息

注冊(cè)

http://127.0.0.1:8080/accounts/signup/

注冊(cè)

登錄

http://127.0.0.1:8080/accounts/login/

登錄

7裸燎、django-allauth全部路由

下面是django_allauth所有內(nèi)置的URLs顾瞻,均可以訪問的〉侣蹋可以去allauth/account/urls.py查看

# 登錄
/accounts/login/

# 注冊(cè)
/accounts/signup/

# 重置密碼
/accounts/password/reset/

# 退出登錄
/accounts/logout/

# 設(shè)置密碼 
/accounts/password/set/

# 改變密碼(需登錄)
/accounts/password/change/

#  用戶可以添加和移除email荷荤,并驗(yàn)證
/accounts/email/

# 管理第三方賬戶
/accounts/social/connections/

用戶詳細(xì)信息是沒有的

/accounts/profile/

如果我希望用戶在注冊(cè)時(shí)提供更多信息(比如公司名、電話移稳、住址等)
如果用戶在注冊(cè)后需要修改個(gè)人信息怎么辦蕴纳?
由于每個(gè)開發(fā)者對(duì)用戶所需提供的額外信息需求是不一樣的,所以沒有提供這個(gè)視圖和URL个粱。
因此django-allauth并沒有提供用戶詳情應(yīng)用

用戶詳情請(qǐng)參考:
[個(gè)人博客五|用戶個(gè)人資料Profile擴(kuò)展]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末古毛,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌稻薇,老刑警劉巖嫂冻,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異塞椎,居然都是意外死亡桨仿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門案狠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蹬敲,“玉大人,你說我怎么就攤上這事莺戒。” “怎么了急波?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵从铲,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我澄暮,道長(zhǎng)名段,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任泣懊,我火速辦了婚禮伸辟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘馍刮。我一直安慰自己信夫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布卡啰。 她就那樣靜靜地躺著静稻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪匈辱。 梳的紋絲不亂的頭發(fā)上振湾,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音亡脸,去河邊找鬼押搪。 笑死,一個(gè)胖子當(dāng)著我的面吹牛浅碾,可吹牛的內(nèi)容都是我干的大州。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼垂谢,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼摧茴!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起埂陆,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤苛白,失蹤者是張志新(化名)和其女友劉穎娃豹,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體购裙,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡懂版,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了躏率。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片躯畴。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖薇芝,靈堂內(nèi)的尸體忽然破棺而出蓬抄,到底是詐尸還是另有隱情,我是刑警寧澤夯到,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布嚷缭,位于F島的核電站,受9級(jí)特大地震影響耍贾,放射性物質(zhì)發(fā)生泄漏阅爽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一荐开、第九天 我趴在偏房一處隱蔽的房頂上張望付翁。 院中可真熱鬧,春花似錦晃听、人聲如沸百侧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)移层。三九已至,卻和暖如春赫粥,著一層夾襖步出監(jiān)牢的瞬間观话,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工越平, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留频蛔,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓秦叛,卻偏偏與公主長(zhǎng)得像晦溪,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子挣跋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 此段內(nèi)容簡(jiǎn)要來(lái)自自強(qiáng)學(xué)堂的教程詳情請(qǐng)查詢自強(qiáng)學(xué)堂 一三圆、 后臺(tái)的運(yùn)作流程 接收request請(qǐng)求 處理數(shù)據(jù) 獲取請(qǐng)求...
    coder_ben閱讀 5,246評(píng)論 6 56
  • 模塊間聯(lián)系越多,其耦合性越強(qiáng),同時(shí)表明其獨(dú)立性越差( 降低耦合性舟肉,可以提高其獨(dú)立性)修噪。軟件設(shè)計(jì)中通常用耦合度和內(nèi)聚...
    riverstation閱讀 2,070評(píng)論 0 8
  • 切換到創(chuàng)建項(xiàng)目的目錄 cd C:\Users\admin\Desktop\DjangoProject創(chuàng)建名為pr...
    在努力中閱讀 3,273評(píng)論 2 3
  • 42班 李鈺倫 我喜歡天空,也喜歡望著天空路媚。天空給我靜謐的...
    夏沫的微笑_2c93閱讀 495評(píng)論 0 0
  • 簡(jiǎn)單思考并不真的是簡(jiǎn)單黄琼,而是精簡(jiǎn)一切,抓住真正想要的東西整慎。我們工作中信息多脏款,資源多也要學(xué)會(huì)精簡(jiǎn),找到你想要的東西裤园。...
    田田教練閱讀 146評(píng)論 1 2