此应用程序使显示给定地址的地图变得容易

django-easy-maps的Python项目详细描述


Django简易地图

此应用程序使在 django模板。无手动地理编码、HTML/JS复制粘贴或django 需要更改模型。

作者是Mikhail Korobov,一些伟大的 contributors

https://img.shields.io/pypi/v/django-easy-maps.svghttps://img.shields.io/pypi/dm/django-easy-maps.svghttps://img.shields.io/github/license/bashu/django-easy-maps.svghttps://img.shields.io/travis/bashu/django-easy-maps.svg

安装

首先安装模块,最好是在虚拟环境中。它可以从pypi安装:

pip install django-easy-maps

设置

您需要将easy_maps添加到项目的settings.py文件中的INSTALLED_APPS中:

INSTALLED_APPS+=['easy_maps',]

然后运行./manage.py migrate创建所需的数据库表。

配置

唯一必需的配置是EASY_MAPS_GOOGLE_KEY变量:

EASY_MAPS_GOOGLE_KEY='ABCDEFGHIJKLMNOPQRSTUVWXYZ___0123456789'

如果在没有插入地址的情况下需要一个位置将地图居中 但是,将纬度和经度添加到 您的settings.py如下:

EASY_MAPS_CENTER=(-41.3,32)

请参阅example应用程序。此应用程序用于 手动测试此包的功能。这也可以作为 一个很好的例子。

你需要django 1.8或更高版本来运行它。它可能在旧版本上运行,但未经测试。

用法

首先,在要使用的每个模板中加载easy_map_tags

{%loadeasy_maps_tags%}

使用:

{%easy_map<address>[<width><height>][<zoom>][using<template_name>]%}

例如:

{%loadeasy_maps_tags%}<!-- Default map with 300x400 dimensions -->{%easy_map"Russia, Ekaterinburg, Mira 32"300400%}<!-- Variable address, custom detail level and custom template -->{%easy_mapaddress2002005using"map.html"%}

地图的坐标将首先使用谷歌地理编码器获得 进入。然后它们将被缓存在数据库中。可以使用django的模板缓存 以后为了防止在每个贴图渲染上访问数据库:

{%loadeasy_maps_tagscache%}{%cache600my_mapfirm.address%}{%easy_mapfirm.address300400%}{%endcache%}

模板

如果默认映射模板不足,则自定义映射模板可以 使用。例如:

{%easy_mapaddressusing"map.html"%}{%easy_mapaddress2003005using"map.html"%}

模板将具有mapeasy_maps.Address实例 在第一次访问时为传递的地址自动创建,widthheight 以及zoom变量。外部模板上下文传递给呈现的 模板也一样。

您可以从头开始创建自己的模板,也可以重写 默认模板。

请参阅https://developers.google.com/maps/documentation/javascript/了解 详细的google地图javascript api帮助。

小部件

django-easy-maps提供了一个基本的小部件,它在地址下显示一个映射 字段。它可以在管理员中用于地图预览。例如:

fromdjangoimportformsfromdjango.contribimportadminfromeasy_maps.widgetsimportAddressWithMapWidgetfrom.modelsimportFirmclassFirmAdmin(admin.ModelAdmin):classform(forms.ModelForm):classMeta:widgets={'address':AddressWithMapWidget({'class':'vTextField'})}admin.site.register(Firm,FirmAdmin)

address字段应该是CharFieldTextField

贡献

如果你发现了一个bug,实现了一个特性或者定制了模板 觉得有用的话请考虑贡献。修补程序、拉取请求或 欢迎提出建议!

许可证

django-easy-maps是在mit许可下发布的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java ojdbc6和ojdbc6的区别是什么。jar和ojdbc7。罐子   java I在从Json输出获取数据时遇到问题   java如何使用Jersey客户端对支持JAAS的Web服务器进行身份验证?   javaxssfcell>如何从long中获取间隔时间值   使用xml作为数据源在java中创建报告   java在后台运行selenium脚本并执行从一个选项卡切换到另一个选项卡时出错   java为什么这会给我AssertationError?   java PowerMockito静态   java让我的google助手在特定单词上调用我的RESTAPI   如何在java中转换逗号分隔字符中的给定字符串?   java对JSON的错误解析   java JUnit测试隔离路由   java计算器仅第一次运行