使用Django-Registration验证自定义电子邮件域名

3
我看到了一个 jQuery EDU 验证的版本,链接在这里: https://dev59.com/417Va4cB1Zd3GeqPM8nV 但我想使用 django-registraion 来检查完整的域名 @someschool.edu 或者 @alumni.someschool.edu。您有什么想法吗?感谢您的帮助。

不确定如何验证域名,但您可以验证电子邮件:https://dev59.com/snRB5IYBdhLWcg3wpYio?rq=1 - karthikr
1个回答

4

你可以在forms.py文件中创建自己的表单,以下是一些示例:

  • 带有服务条款的注册
  • 带有唯一电子邮件地址的注册
  • 不允许免费电子邮件地址的注册

如果需要,你可以根据自己的需求添加其他内容。

class RegistrationFormEduMail(RegistrationForm):

    good_domains = ['edu']

    def clean_email(self):

        email_domain = self.cleaned_data['email'].split('.')[-1]
        if email_domain not in self.good_domains:
            raise forms.ValidationError(_("Registration using non edu email addresses is prohibited. Please supply a different email address."))
        return self.cleaned_data['email']

接下来,进入registration/backends/default/init.py文件,并导入你的表单。将get_form_class()方法返回的表单名称更改为你的表单名称(这里是RegistrationFormEduMail)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接