简体   繁体   English

吉奥姜戈。 管理员未在创建的实例中显示 point = models.PointField() 的地图位置

[英]GeoDjango. Admin not showing map location for point = models.PointField() in created instances

I am trying to create member instances in a very simple way to practice GeoDjango.我正在尝试以一种非常简单的方式创建成员实例来练习 GeoDjango。 I am able to create the instances but they are not showing correctly in the admin map (See images Below)我能够创建实例,但它们在管理地图中没有正确显示(见下图)

below are my models.py下面是我的models.py

from django.contrib.gis.db import models

    class Member(models.Model):
        name = models.CharField(max_length=150)
        image = models.ImageField()
        lat = models.FloatField()
        lon = models.FloatField()
        point = models.PointField()
        objects = models.GeoManager()

        def __str__(self):
            return self.name

below is my views.py下面是我的views.py

class MemberCreate(CreateView):
    model = Member
    fields = ('name', 'image', 'lat', 'lon')

    def form_valid(self, form, *args, **kwargs):
        self.object = form.save(commit=False)
        self.object.point = fromstr('POINT(%s %s)'%(self.object.lat, self.object.lon), srid=4326)
        self.object.save()
        return redirect('member:all_members')

The model and views are successfully creating the model instance on my admin.py below is the code for admin.py该模型和视图成功地在我的admin.py创建模型实例下面是admin.py代码

from django.contrib.gis import admin
from .models import Member

admin.site.register(Member, admin.OSMGeoAdmin)

The point on Admin of my GeoDjango Project See Below我的 GeoDjango 项目管理员的要点见下文在此处输入图片说明 The place where the point actually is on the internet( Notice same lat, lon See Below)点实际在互联网上的地方(注意相同的纬度,经度见下文) 在此处输入图片说明

How can I fix this我怎样才能解决这个问题

Changed this改变了这个

self.object.point = fromstr('POINT(%s %s)'%(self.object.lat, self.object.lon), srid=4326)

to

self.object.point = fromstr('POINT(%s %s)'%(self.object.lon, self.object.lat), srid=4326)

The lon comes before lat. lon 在 lat 之前。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM