Попытка создать форму комментария следующим образом:Django: CommentForm не работает правильно, без ошибок?
class CommentCreationForm(forms.Form):
body = forms.CharField(widget=forms.Textarea)
author = forms.CharField()
def __init__(self, *args, **kwargs):
super(CommmentCreationForm, self).__init__(*args, **kwargs)
self.user = kwargs.pop('user', None)
def save(self):
data = self.cleaned_data
comment = Comment(body=data['body'], author=data['author'], user=self.user)
comment.save()
def clean(self):
return self.cleaned_data
views.py
@login_required
def create(request):
try:
if is_post(request):
form = CommentCreationForm(request.user)
if form.is_valid():
print 'valid'
form.save()
return render_to_response("login.html", context_instance = RequestContext(request))
return render_to_response("login.html", context_instance = RequestContext(request))
return render_to_response("create.html", {'form':CommentCreationForm()}, context_instance = RequestContext(request))
except Exception as e:
print str(e)
Если я отправить форму, он возвращает: объект «Пользователь» не имеет атрибута «получить». Я уверен, что делаю что-то очень не так, но я не знаю, что.
Я думаю, что проблема заключается в методе экономии, пытаются это так: – catherine
комментарий = Комментарий (тело = данные [ «тело»], автор = данные [ 'автор '], user_id = 1). Поставьте пользователя по умолчанию, чтобы проверить, будет ли он сохранен или нет. – catherine
Опубликуйте свою трассу. – thebjorn