谷歌地图自动完成在Django管理员添加表单



我有一个使用源和目标字段的模型,这些字段通常是从前端模板填充的。模板有两个表单字段,它们与谷歌地图自动完成API相关联。但是,如果我想通过管理面板创建新对象,如何将自动完成 API 与添加表单的源和目标字段集成?

你可以在 django admin 中轻松使用类似 https://github.com/ubilabs/geocomplete/的东西 —

覆盖更改表单模板以包含所需的 js:

{% load staticfiles %}
{% block extrahead %}{{ block.super }}
    <script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/geocomplete/1.4/jquery.geocomplete.min.js"></script>
    <script src="{% static 'path/to/your/js/geocomplete.js' %}"></script>
{% endblock %}

在您自己的 js 文件中:

$("#address_input").geocomplete(); 

此处提供了有关如何使用库填充表单的文档:

https://github.com/ubilabs/geocomplete/#populate-form-data

有一个名为django-location-field的Django管理小部件,它完全按照你的要求做。我在我的项目中使用它。

https://github.com/caioariede/django-location-field

最新更新