gpt4 book ai didi

python - 覆盖 Django-allauth 中的 clean_email() 方法

转载 作者:太空宇宙 更新时间:2023-11-03 13:47:35 26 4
gpt4 key购买 nike

如何覆盖 allauth.account.forms.BaseSignupForm 中的默认 clean_email() 方法。我在 Forms.py 中尝试了以下内容:

from allauth.account.forms import BaseSignupForm

class Extended_BaseSignupForm(BaseSignupForm):
def clean_email(self):
data = self.cleaned_data['email']
if "@gmail.com" not in data: # any check you need
raise forms.ValidationError("Must be a gmail address")
if app_settings.UNIQUE_EMAIL:
if data and email_address_exists(data):
raise forms.ValidationError \
(_("A user is registered with this e-mail address."))
return data

覆盖的目的是防止用户使用一次性电子邮件 ID 进行注册。

最佳答案

在即将推出的 allauth 版本中,这变得更容易了。您可以简单地覆盖 clean_email 适配器方法,在此处:

https://github.com/pennersr/django-allauth/blob/4bb9e0170f37d8196bd0c4a78e83adb7b779c113/allauth/account/adapter.py#L175

使用 ACCOUNT_ADAPTER 设置指向包含覆盖方法的自定义适配器。

关于python - 覆盖 Django-allauth 中的 clean_email() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16396896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com