尝试使用django视图自动填充字段

时间:2010-12-13 22:31:35

标签: django django-views geoip

我的问题类似于this问题,使用geoip通过IP地址查找用户的latitide和经度。我在我的观点中做了类似的事情

g=Geoip()
lat,lon=g.lat_lon(some ip)

这里我想要自动填写表单字段

之类的东西
 latitude=lat
 longitude=lon
 userform.save()

并且不想覆盖保存方法,因为我对django相当新,并且不知道它们是如何工作的。我尝试了上面的链接代码,但无法使它适合我。 我如何自动填充views.py

中的纬度和经度字段

1 个答案:

答案 0 :(得分:5)

啊,只是潜入。除非你做一些非常愚蠢的事情,否则你不会伤害任何事情。顺便说一下,“愚蠢”包括在生产站点上使用未备份的数据库执行此操作。

要记住的重要一点是,你不是覆盖 save()方法,你提供了一个特定于类的版本,它可以反过来调用父代的save()方法。 E.g。

class MyModel(models.Model):
   ...
   def save(self):
      # whatever you need to do to the object before the save
      super(MyModel, self).save() # replace MyModel with *your* class name

或者,您可以先调用super(),然后再执行操作。如果您的所有常规操作都是super(),那么您将拥有正确的(但无用的)save()方法。

有关更多见解/信息,请参阅the Python docs