python/django中的邮件地址验证

python/django中的邮件地址验证,django,validation,street-address,Django,Validation,Street Address,我们正在用django框架和python开发我们的网站。目前,我们正在寻找一个api/a工具来验证用户输入的物理地址。它不需要非常复杂。我们只需要避免垃圾邮件注册。对于这一步,我们需要验证国家、州、城市和zipcode是否属于彼此。例如,伯克利作为Zipcode 94704的城市不在纽约州,等等。 有什么想法吗?你可以使用地理编码服务(如谷歌)来验证地址是否存在。你可以尝试一下。它是谷歌地理编码V3API的Python包装。它可以满足您的一些验证需求 from pygeocoder import

我们正在用django框架和python开发我们的网站。目前,我们正在寻找一个api/a工具来验证用户输入的物理地址。它不需要非常复杂。我们只需要避免垃圾邮件注册。对于这一步,我们需要验证国家、州、城市和zipcode是否属于彼此。例如,伯克利作为Zipcode 94704的城市不在纽约州,等等。
有什么想法吗?

你可以使用地理编码服务(如谷歌)来验证地址是否存在。

你可以尝试一下。它是谷歌地理编码V3API的Python包装。它可以满足您的一些验证需求

from pygeocoder import Geocoder
g = Geocoder()
g.geocode("1 wellington, ottawa").valid_address
>>> True
g.geocode("1 wellington, chicago").valid_address
>>> False
这也需要一些小的拼写错误

result = g.geocode("1600 amphiteather, mountain view")
result.valid_address
>>> True
print result
>>> 1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA
g.geocode("16000000 amphitheater, mountain view").valid_address
>>> False
但是谷歌并不总是有正确的邮政编码。我相信USPS在美国有一个公共API


disclamer:我做了pygeocoder

谢谢Matthew。它是否让我们能够测试zipcode是属于一个城市还是一个州?我试图避免使用协调员!我假设,如果你传递一个无效的邮政编码,地理编码服务将找不到地址。嗨!看到这篇文章后,我去安装了pygeocoder。看起来很酷。我有一个相关的问题。你能帮忙吗?