python-Django-将城市,州和邮政编码合并到单个字段中
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-Django-将城市,州和邮政编码合并到单个字段中,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1394字,纯文字阅读大概需要2分钟。
内容图文
有人成功做到了吗?
尝试复制类似于在上找到的功能
http://www.walmart.com/cservice/ca_storefinder.gsp
用户可以输入城市,州或邮政编码并进行智能查找的地方
我开始尝试使用一些正则表达式并拆分字段,尽管我很快意识到这是一项需要花费大量时间才能使其最终用户智能运行的任务
考虑的方法
>实时ajax自动完成呼叫
> Sphinx全文搜索
>正则表达式搜索数据库侧
>正则表达式验证用户输入
迄今为止的摘要
import re
from general.models import ZipCode
def findLocation(value):
match = re.search(r"\d{5}", value)
if match:
try:
return Zipcode.objects.get(zip=value)
except ZipCode.DoesNotExist:
return False
else:
kwargs = {}
vals = value.split(',')
if len(vals) > 1:
kwargs['city'] = value[:len(value)-len(vals[-1])-1]
state = vals[-1].strip()
if len(state) == 2:
kwargs['state'] = state
else:
kwargs['state_name'] = state
else:
kwargs['city'] = value
return ZipCode.objects.filter(**kwargs)
此示例中的ZipCode是一个数据库模型,其中包含所有美国邮政编码/州/州的缩写/城市
在github上有一个副本
https://github.com/amites/django-general
解决方法:
对于这种高级功能,您最好使用一些专用工具,例如the Solr search engine.
如果您不知道,它是一个基于Java的开源,非常强大的搜索引擎,能够添加位置搜索功能.搜索操作将通过Web服务(xml,json等)执行
这些步骤基本上是以下步骤:在服务器上安装solr,配置架构(一种存储和索引数据的方法),从数据库中导入数据,并将搜索表单绑定到Web服务.
您可能需要阅读this article to have more informations about geolocation searches(也许有些过时了,您必须检查一下).
内容总结
以上是互联网集市为您收集整理的python-Django-将城市,州和邮政编码合并到单个字段中全部内容,希望文章能够帮你解决python-Django-将城市,州和邮政编码合并到单个字段中所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。