我需要使用django TestCase进行表单测试,但是当我发出self.client.post请求时,会有404状态代码 -
self.assertEqual(response.status_code, 200)
AssertionError: 404 != 200
表单在浏览器中运行良好。如果我在发布请求后打印响应我已打印所有数据但状态代码保留404并且数据不保存到db。哪里可以问题? 这是我的测试:
def test_post(self):
'''
Check form saves data
'''
self.response = self.client.post(reverse('user_detail', kwargs={'pk': 1}), {'name': 'Pablo'})
self.assertEqual(self.response.status_code,200)
查看:
class ContactUpdateView(UpdateView):
model = Contact
form_class = ContactForm
template_name = 'edit.html'
def get_success_url(self):
return reverse('user_detail', kwargs={'pk': 1})
形式:
class ContactForm(forms.ModelForm):
"""
The model for Contact model edit
"""
class Meta:
model = Contact
fields = ['name', 'last_name', 'date_of_birth', 'bio', 'other_contacts',
'email', 'jabber', 'skype', 'other_contacts', 'photo']
widgets = {
'date_of_birth': forms.DateInput(attrs={'class':'datepicker'}),
}
地址:
url(r'^(?P<pk>\d+)/edit/$', ContactUpdateView.as_view(),
name='user_detail'),