python / django中的邮件地址验证

时间:2010-08-23 18:42:26

标签: django validation street-address

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

2 个答案:

答案 0 :(得分:3)

您可以尝试pygeocoder。它是Google的Geocoding V3 API的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

答案 1 :(得分:1)

您可以使用GeoCoding服务(如Google)来验证地址是否存在。