0
我想知道解決這個問題的最佳方法。我正在使用Userena作爲我的項目的基礎。我想將一個球隊名冊加載到數據庫中,或者保留名冊的文本文件,並且在用戶註冊之前,網站應該檢查用戶是否在名冊上。否則,他們將無法註冊。Django/Userena允許註冊名單上的球員
我想知道解決這個問題的最佳方法。我正在使用Userena作爲我的項目的基礎。我想將一個球隊名冊加載到數據庫中,或者保留名冊的文本文件,並且在用戶註冊之前,網站應該檢查用戶是否在名冊上。否則,他們將無法註冊。Django/Userena允許註冊名單上的球員
in userena.forms是SignupForm。我將擴展表單驗證中正在實施的三種乾淨方法之一。這些是clean_username,clean_email和clean。
例如,下面是clean_email方法。它已經檢查電子郵件是否已被使用。我會維護一個包含有效電子郵件的名單表。這樣你可以添加另一層檢查。我會把它放在第一個下面。
def clean_email(self):
""" Validate that the e-mail address is unique. """
if User.objects.filter(email__iexact=self.cleaned_data['email']):
raise forms.ValidationError(_('This email is already in use. Please supply a different email.'))
return self.cleaned_data['email']
比較檢查電子郵件是否被其他用戶使用。對於花名冊,如果在名單表中找不到該錯誤,我們將提出錯誤。
def clean_email(self):
""" Validate that the e-mail address is unique. """
if User.objects.filter(email__iexact=self.cleaned_data['email']):
raise forms.ValidationError(_('This email is already in use. Please supply a different email.'))
if not Roster.objects.filter(email__iexact=self.cleaned_data['email']):
raise forms.ValidationError(_('You are not able to signup as you are not part of the Roster.'))
return self.cleaned_data['email']
注意:請務必將您的名冊模型導入到您添加支票的任何位置。
太棒了。正是我需要的。我現在要做的就是製作花名冊。 –