我正在使用django 1.1。該文檔
http://docs.djangoproject.com/en/1.1/topics/auth/#topics-auth
在IS_ACTIVE標誌 它說django註冊,django.contrib.auth登錄和用戶「活動」標誌
這並不控制用戶是否 可以登錄。在 認證路徑沒有檢查 IS_ACTIVE標誌,所以如果你想以 拒絕基於is_active 的登錄爲False,則由您在自己的登錄視圖中檢查 。但是,使用方法 (如has_perm())的 權限檢查會檢查此標誌 ,並且對於 非活動用戶將始終返回False。
我使用django註冊(最新0.8 alpha)和使用所有默認後端。 django註冊的整個前提是基於is_active標誌。即它只在用戶激活後才被設置。但是,我可以看到,當用戶登錄時,它使用django.contrib.auth.views.login。我可以從auth_urls.py中的代碼中看到這一點。
當用戶註冊,但尚未啓動,我要顯示一個消息,說大致爲「您尚未激活您的帳戶」
東西線目前的默認行爲是形式的錯誤消息稱,我還使用登錄裝飾我的意見「的用戶名和密碼不匹配」
@login_required
我的問題是:
編輯:感謝詹姆斯和亨利。我認爲我不擅長描述我的問題。我重做了這個。
- Django的文件說,在登錄用戶時IS_ACTIVE不作爲決定因素。這是很清楚的不的情況。親自嘗試一下。我無法弄清楚代碼中發生了什麼。有人知道嗎?據我所知,它不會發生在django註冊或django.contrib.auth中。
- 爲了顯示我上面描述的錯誤信息,我最好的辦法是什麼?請記住我正在使用django註冊,因此很多配管工作已經完成。我寧願不修改或重寫所有內容。如果可能的話,我正在尋找....「優雅」的解決方案。
在此先感謝
相對於Q1,
@James_Khoury感謝詹姆斯,花了更多時間與代碼後,我敢肯定這必須在django.contrib.auth(而不是在django註冊)檢查任何想法在哪裏?你指向我的代碼行只是一個描述我已經觀察到的內容的評論。此外,有關如何完成該特定錯誤消息的任何想法?謝謝。 – 2011-05-09 05:29:37
@ w--我的道歉。更新了我的答案。 – 2011-05-09 05:56:34
@ w--剛剛在應該幫助的文檔中發現了一些信息。 – 2011-05-09 06:09:06