Cercando di abbracciare le forme del django e il modo di fare django. Voglio creare un modulo Web di base che consenta a un utente di inserire un indirizzo e avere quell'indirizzo geocodificato e salvato in un database.Geocodifica un indirizzo nell'invio del modulo?
ho creato un modello Località:
class Location(models.Model):
address = models.CharField(max_length=200)
city = models.CharField(max_length=100)
state = models.CharField(max_length=100, null=True)
postal_code = models.CharField(max_length=100, null=True)
country = models.CharField(max_length=100)
latitude = models.DecimalField(max_digits=18, decimal_places=10, null=True)
longitude = models.DecimalField(max_digits=18, decimal_places=10, null=True)
e definito una forma:
class LocationForm(forms.ModelForm):
class Meta:
model = models.Location
exclude = ('latitude','longitude')
A mio avviso sto usando form.save()
per salvare il modulo. Funziona e salva un indirizzo nel database.
Ho creato un modulo per geocodificare un indirizzo. Non sono sicuro di quale sia il modo di fare django per fare le cose, ma suppongo che, a mio avviso, prima di salvare il modulo, devo geocodificare l'indirizzo e impostare lat e long. Come posso impostare la latitudine e la longitudine prima di salvare?
Grazie mille, proverò e tornerò da te. Cosa ne pensi di geocode() restituendo una tupla o un oggetto Coordinate invece di una stringa? – User
Questa è una grande idea. Sarebbe più pulito impacchettare meglio i dati prima di tornare. In generale mi piace fare cose del genere. L'ho lasciato in questo modo a causa di come ho rifattorizzato l'equazione originale. Stavo pensando che CSV è tutto solo perché è così che torna da google, ma mi piace come stai pensando. Ho intenzione di refactoring questo per restituire un oggetto. – digitaldreamer
Aggiornamento per l'API di Google Maps v3 di seguito. –