Ich bin ein echter Anfänger in Web-Entwicklung. Der folgende Code schlägt bei der Prüfung is_valid()
fehl. Aber ich verstehe nicht warum: Das Formular sollte seine Daten aus den POST-Daten beziehen oder nicht?Django Formular is_valid() schlägt fehl
Modell:
class Statement(models.Model):
text = models.CharField(max_length=255)
user = models.ForeignKey(User)
time = models.DateField()
views = models.IntegerField()
Modelform:
class StatementForm(ModelForm):
class Meta:
model = Statement
widgets = {
'time':forms.HiddenInput(),
'user':forms.HiddenInput(),
'views':forms.HiddenInput(),
}
View-Funktion:
def new(request):
if request.method == 'POST': # If the form has been submitted...
form = StatementForm(request.POST) # A form bound to the POST data
if form.is_valid():
stmt = form.save()
path = 'stmt/' + stmt.id
return render_to_response(path, {'stmt': stmt})
else:
c = {}
c.update(csrf(request))
loggedin_user = request.user
d = datetime.now()
form = StatementForm(request.POST, initial={'time': d.strftime("%Y-%m-%d %H:%M:%S"), 'user':loggedin_user, 'views':0})
return render_to_response('new_stmt.html', {'form': form, },context_instance=RequestContext(request))
Ich fand ähnliche Themen und versucht, eine ganze Menge. So sollte es meiner Meinung nach funktionieren. Ich brauche wirklich einen Rat.
Zum früheren Frage, die Sie gefragt haben und akzeptieren die beste Antwort für eine bestimmte Frage (wenn diese eine ist). Sie können dies tun, indem Sie das Häkchen neben eine Antwort setzen. –