객체, 특히 ModelForms
장고의 CreateView 내가 장고의 일반적인 견해를 연습하고있어
이 내 뷰와 모델
models.py
class Post(models.Model):
user = models.ForeignKey(User)
post_title = models.CharField(max_length=200)
post_content = models.CharField(max_length=500)
post_date = models.DateTimeField('date posted')
def get_absolute_url(self):
return reverse('user-detail', kwargs={'pk': self.pk})
def __unicode__(self):
return self.post_title
forms.py있는 저장되지 않는다
class PostForm(forms.ModelForm):
post_title = forms.CharField(
label=u'Title',
widget=forms.TextInput(attrs={'size':64})
)
post_content = forms.CharField(
label=u'Content',
widget=forms.TextInput(attrs={'size':128})
)
class Meta:
model = Post
views.py는
class PostCreate(CreateView):
fields = ['post_title', 'post_content']
template_name = 'app_blog/post_save_form.html'
model = Post
form_class = PostForm
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
return super(PostCreate, self).dispatch(*args, **kwargs)
def form_valid(self, form):
self.object = form.save(commit=False)
self.object.user = self.request.user
self.object.post_date = datetime.now()
return super(PostCreate, self).form_valid(form)
보기는 오류를 표시하지, 잘 작동하는 것 같다. 그러나 양식을 제출하고 게시물을 저장 한 후 Django 관리자 페이지를 확인할 때 어떤 이유로 든 게시물이 데이터베이스에 저장되지 않습니다.
왜 이런 일이 발생하는지 알고 싶습니다.
어떤 형태의 오류가 있습니까? – lalo