2

私の質問は、geoipを使用してIPアドレスを介してユーザーの緯度と経度を見つけるこの質問に似ています。私は私の見解でこのようなことをしています

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

ここでは、フォームフィールドに次のように自動的に入力する必要があります

 latitude=lat
 longitude=lon
 userform.save()

そして、私はdjangoにかなり慣れておらず、それらがどのように機能するかわからないので、saveメソッドを上書きしたくありません。上記のリンクコードを試しましたが、うまくいきませんでした。views.pyの緯度と経度のフィールドに自動入力するにはどうすればよいですか?

4

1 に答える 1

5

ああ、ただ飛び込んでください。本当にばかげたことをしない限り、何も傷つけることはありません。ところで、「愚か」には、バックアップされていないデータベースを使用して本番サイトでこれを行うことが含まれます。

覚えておくべき重要な点は、メソッドを上書きするのではなく、親のメソッドsave()を呼び出すことができるクラス固有のバージョンを提供していることです。save()例えば

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()メソッドが得られます。

詳細な洞察/情報については、Python ドキュメントを参照してください。

于 2010-12-14T00:02:57.157 に答える