我有一个 Django 表单,其中一个字段是TextInput
街道地址。
我想标准化数据。例如:
>> normalize('420 East 24th St.')
'420 E. 24th Street'
>> normalize('221 Amsterdam Av')
'221 Amsterdam Ave.'
>> normalize('221 Amsterdam Avenue')
'221 Amsterdam Ave.'
或类似的东西。我已经在使用了geopy http://code.google.com/p/geopy/用于地理编码。也许这可能有帮助?
另外:我应该在哪里标准化?在数据库模型中还是在表单字段的 clean 函数中?
最可靠的方法是使用真正的地址验证服务。它不仅会根据 USPS 标准对地址组成部分进行标准化(规范化)(请参阅出版物 28 http://pe.usps.com/cpim/ftp/pubs/pub28/pub28.pdf)但您也会确定该地址是真实的。
全面披露:我在 SmartyStreets 工作,它提供了这样一个service http://www.smartystreets.com/products/liveaddress-api。下面是一些非常简单的 Python 示例代码,展示了如何通过 HTTP GET 请求使用我们的服务:
https://github.com/smartystreets/LiveAddressSamples/blob/master/python/street-address.py https://github.com/smartystreets/LiveAddressSamples/blob/master/python/street-address.py
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)