j'ai dans mon views.pyTypeError save() prend au moins 2 arguments non de mots clés (1) donnée
def status_set(request):
ip_address= request.META['REMOTE_ADDR']
if request.method == "POST":
rform = registerForm(data = request.POST)
if rform.is_valid():
register = rform.save(commit=False)
register.user=request.user
register.save()
return render_to_response('home.html')
else:
rform = registerForm()
return render_to_response('status_set.html',{'rform':rform})
et forms.py ihave
from django.contrib.gis.utils import GeoIP
class registerForm(forms.ModelForm):
class Meta:
model=register
fields = ('Availability', 'Status')
def save(self,ip_address, *args, **kwargs):
g = GeoIP()
lat, lon = g.lat_lon('ip_address')
user_location = super(registerForm, self).save(commit=False)
user_location.latitude = lat
user_location.longitude = lon
user_location.save(*args, **kwargs)
et quand je l'ai essayé à submitt la forme qu'elle dit
TypeError à/état-set/ save() prend au moins 2 arguments non de mots clés (1 donné) iam incapable de trouver la solution pour cela. quelle est la raison possible pour cette je pense que je dois passer l'adresse IP comme argument des suggestions
i avait aussi essayé ce ting, mais il n'a rien fait – MajorGeek
la réponse de Mark est correct ... dans votre code d'origine 1) vous ne passez pas 'ip_address' de la vue à la méthode save du formulaire, et 2) même si vous l'avez fait, appeler' g.lat_lon ('ip_address') '(notez les guillemets simples) signifie que vous passez une chaîne à g.lat_lon(), pas le paramètre ip_address. –