2010-08-22 157 views
1

我最近繼承了一個django項目,我面臨着嚴重的錯誤/問題和......需要修復的怪癖。由於我是來自PHP背景(不要問),我正在...挑戰時間。Django管理員:允許電子郵件作爲用戶名?

根據Django管理員,它不會接受任何電子郵件地址作爲用戶名。但是,在我們的前端 - 以前的開發人員以這樣的方式設計系統,即應用程序使用電子郵件地址作爲用戶名。這在前端很好,但我們無法保存我們在管理部分中對用戶所做的任何更改¬.

有什麼方法可以解決這個問題,而無需將我們的django安裝更新到v1.2(不是選項)並且不修改任何Django.contrib文件?

我聽說過關於擴展這些類/方法的好處,但我很不確定如何繼續。

在網上看網站,他們建議編寫一個自定義的後端,等等......?是否有正確的方法呢?儘管我對djanog程序員並不太自信,但考慮到這與用戶登錄有關,對於我可以編寫的任何解決方案,我都非常不自信。

有沒有一種簡單的方法,我可以簡單地覆蓋用戶名驗證方法接受@和超過30個字符?

+0

既然你說你不能升級到Django的1.2,你使用什麼特定版本的Django *? – 2010-08-22 19:33:38

+0

我正在使用訴1.0 – 2010-08-22 19:58:59

回答

0

如果使用django1.2.1沒有問題:http://docs.djangoproject.com/en/1.2/topics/auth/#fields

+0

如果您正確閱讀我的問題,您會看到更新到1.2不是一個選項。我們有一個生產服務器,包含幾個...遺留軟件包和依賴項,這些軟件包和django版本不會比我們目前的版本更高。 (V1.0)。 – 2010-08-22 22:07:04

+0

然後通過'__'或其他東西破壞登錄過程'@' – diegueus9 2010-08-22 22:21:45

+0

再次,閱讀問題會告訴你我無法修改django.contrib文件。這包括django.contrib.auth文件(用於授權)。考慮到這是一個商業產品,「黑客」登錄過程真的是一個好主意嗎?我寧願擴展或重寫一種方法,而不願直接破解或改變它。 – 2010-08-22 23:12:02

相關問題