4

我是 Django 的新手。我的模型中需要谷歌地图。1.我尝试使用 django-google-maps.my models.py 是:

from django.db import models
from django_google_maps import fields as map_fields

class Rental(models.Model):
    address = map_fields.AddressField(max_length=200)
    geolocation = map_fields.GeoLocationField(max_length=200)

和我的 admin.py:

from django.contrib import admin
from django_google_maps import widgets as map_widgets
from django_google_maps import fields as map_fields
from .models import Rental

class RentalAdmin(admin.ModelAdmin):
    formfield_overrides = {
        map_fields.AddressField: {'widget': map_widgets.GoogleMapsAddressWidget},
    }
admin.site.register(Rental, RentalAdmin)

但是当我在管理界面中单击地图时,该字段仍然是空的。我使用本指南安装它https://github.com/madisona/django-google-maps

2.我尝试通过本指南http://pypi.python.org/pypi/django-easy-maps使用easy-map,但在管理界面中看不到地址预览。我的 admin.py 是:

from django import forms
from django.contrib import admin
from easy_maps.widgets import AddressWithMapWidget
from .models import Address

class AddressAdmin(admin.ModelAdmin):
    class form(forms.ModelForm):
        class Meta:
            widgets = {
                'address': AddressWithMapWidget({'class': 'vTextField'})
            }

admin.site.register(Address, AddressAdmin)
4

1 回答 1

1

您可能在 settings.py 中缺少 Google API 密钥

GOOGLE_MAPS_API_KEY = '你的钥匙在这里'

从https://code.google.com/apis/console生成您的 Google Maps Javascript API 。

于 2017-01-11T21:21:19.650 回答