0
我在我的django應用程序中使用自定義auth後端,允許用戶使用其他電子郵件登錄。管理員在Django登錄時更改表單驗證
但是當我嘗試在管理員登錄我得到的消息:「用戶名不能包含‘@’字符」
我想它到達AUTH後端之前提出了這個錯誤,所以它的形式問題, 對 ?
我在我的django應用程序中使用自定義auth後端,允許用戶使用其他電子郵件登錄。管理員在Django登錄時更改表單驗證
但是當我嘗試在管理員登錄我得到的消息:「用戶名不能包含‘@’字符」
我想它到達AUTH後端之前提出了這個錯誤,所以它的形式問題, 對 ?
不幸的是,如果認證失敗並且沒有用戶使用給定的電子郵件,就會引發此錯誤。壞事是這個驗證是硬編碼的[1]。
這是[2]的開放門票。
由於1.2版本的django允許郵件爲User.username,如果您使用的是這個版本,也許您甚至不需要自定義auth後端。但是bug [2]依然存在!
我可以看到,以除去此驗證的唯一解決方案是創建定製AdminSite並重寫login()方法,其是壞...
[1] http://code.djangoproject.com/browser/django/trunk/django/contrib/admin/sites.py#L323 [2] http://code.djangoproject.com/ticket/13928