Тестовый клиент Django post () возвращает 302, несмотря на ошибку представления post ()
В настоящее время я пишу некоторые базовые тесты, чтобы убедиться, что страницы в Django-приложении среднего размера правильно получают и отправляют. Однако, используя django.test.client.Client isn 'т надежно терпит неудачу, когда это должно быть. Он возвращает ответ 302, даже когда естьОчевидно, я поместил ошибки в мой код.
в моем приложении / urls.py:
url(r'^mymodel/create/Затем, в попытках преднамеренно создать ответ 500, я сделал следующее:
class MyModelCreateView(MyModelView, CreateView):
def post(self, request, *args, **kwargs):
print self.hello
self.object = MyModel()
return super(MyModelCreateView, self).post(request, *args, **kwargs)
Очевидно, что мнение неУ меня нет объекта под названием Привет. Это терпит неудачу, как и ожидалось, при попытке отправить запрос через браузер.
и даже дошло до замены "печать self.hello " с
return HttpResponse(status = 500)
и все же я все еще получаю следующее:
#We have a model called Client, so it
#is imported as RequestClient to avoid conflicts
In [1]: from django.test.client import Client as RequestClient
In [2]: client = RequestClient()
In [3]: response = client.post("/app/mymodel/create/")
In [4]: response.status_code
Out[4]: 302
Очевидно, что проблема здесь между клавиатурой и креслом, так какНет причин, по которым Client () / RequestClient () не долженверните ошибку 500, если все сделано правильно. Даже некоторые проблемы возникают, когда я получаю 302 ответа на запросы POST вместо 200 ответов, но это может быть потому, что мыиспользовать HttpRedirect.
Кто-нибудь знает, что может быть проблема здесь? Для справки яm на Python 2.7 и Django 1.5 (хотя мне может потребоваться совместимость с Django 1.4).
,
views.MyModelView.as_view(),
name = 'my_model_create'),
Затем, в попытках преднамеренно создать ответ 500, я сделал следующее:
class MyModelCreateView(MyModelView, CreateView):
def post(self, request, *args, **kwargs):
print self.hello
self.object = MyModel()
return super(MyModelCreateView, self).post(request, *args, **kwargs)
Очевидно, что мнение неУ меня нет объекта под названием Привет. Это терпит неудачу, как и ожидалось, при попытке отправить запрос через браузер.
и даже дошло до замены "печать self.hello " с
return HttpResponse(status = 500)
и все же я все еще получаю следующее:
#We have a model called Client, so it
#is imported as RequestClient to avoid conflicts
In [1]: from django.test.client import Client as RequestClient
In [2]: client = RequestClient()
In [3]: response = client.post("/app/mymodel/create/")
In [4]: response.status_code
Out[4]: 302
Очевидно, что проблема здесь между клавиатурой и креслом, так какНет причин, по которым Client () / RequestClient () не долженверните ошибку 500, если все сделано правильно. Даже некоторые проблемы возникают, когда я получаю 302 ответа на запросы POST вместо 200 ответов, но это может быть потому, что мыиспользовать HttpRedirect.
Кто-нибудь знает, что может быть проблема здесь? Для справки яm на Python 2.7 и Django 1.5 (хотя мне может потребоваться совместимость с Django 1.4).