【发布时间】:2017-03-18 01:20:54
【问题描述】:
所以我花了最后一个小时查看 dango 电子邮件地址验证的链接。我想要做的是占据def create(request) 区域。传递从request.POST['email'] 提交的电子邮件地址,在将其添加到我的数据库之前检查它是否是有效的电子邮件地址。我安装了电子邮件正则表达式。我知道 Django 有一个内置的,我可以在不破坏我的页面的情况下对它们进行编码,但它们似乎无法正常工作:当我输入一个虚假的电子邮件地址时,它不会捕捉到它。有人会给我最好的方法来编码吗?虽然我之前有一个表单发布问题,但此表单通过但不验证电子邮件
from django.shortcuts import render, redirect
from .models import User
from django.contrib import messages
import re
EMAIL_REGEX = re.compile(r'^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+$')
# Create your views here.
def index(request):
return render(request, "emailvalidation/index.html" )
def create(request):
if request.method == 'POST':
User.objects.create(email = request.POST['email'] )
context ={
"email": User.objects.all(),
}
return render(request, 'emailvalidation/success.html' ,context)
【问题讨论】:
-
您将什么定义为虚假电子邮件?你的意思是当电子邮件不存在时?您可以通过向用户发送确认电子邮件来解决此问题。但是,任何人都可以轻松使用 10minutemail.com 之类的东西。
-
当他们输入电子邮件时,我希望它验证 emailspot 不是空白的。他们输入的电子邮件是有效的,即任何@anthing .com
-
但是您已经在上一个问题中使用
EMAIL_REGEX.match(request.POST['email'])成功做到了这一点 -
是的,我的最后一个问题解决了这个过程。该代码是好的代码,但它没有验证电子邮件。所以没有验证我会在最后一个问题上问你,但规则是新问题。即帖子已处理并添加到数据库中,但如果我在其中放了一封乱七八糟的电子邮件,就像“嗨”一样,它仍然可以
标签: regex django python-2.7