Я работаю над простой веб-службой в django. Это мое первое веб-приложение в django/python, поэтому я не удивлюсь, если я пропущу что-то очевидное здесь, но ...Тест написан для django URL Диспетчер не работает
В настоящее время я пытаюсь проверить свою логику фильтрации URL-адреса.
# Works as expected
response = self.client.post("/mysite/goodurl/")
self.assertEqual(response.status_code, 200)
# Has an exception rather than a 404
response = self.client.post("/mysite/badurl/")
self.assertEqual(response.status_code, 404)
Итак, badurl
дело не просто быть не найдены и бросали 404, вместо этого я получаю эту ошибку:
Traceback (most recent call last):
File "/home/user/me/mysite/tests.py", line 55, in test_add_tracker
response = self.client.post("/mysite/badurl/")
File "/home/path/to/some/bin/dir/freeware/Python/lib/python2.7/site-packages/django/test/client.py", line 449, in post
response = super(Client, self).post(path, data=data, content_type=content_type, **extra)
File "/home/path/to/some/bin/dir/freeware/Python/lib/python2.7/site-packages/django/test/client.py", line 262, in post
return self.request(**r)
File "/home/path/to/some/bin/dir/freeware/Python/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/home/path/to/some/bin/dir/freeware/Python/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 77, in wrapped_view
return view_func(*args, **kwargs)
TypeError: EtimeFetcher() got an unexpected keyword argument 'alias'
Я пытался прибегая к помощи для сообщения EtimeFetcher, но не повезло. Есть идеи?
У вас есть мнение, чтобы поймать все ошибки Http404? Кажется, что Django, однако, нашел представление для исполнения для badurl. Найдите в своем коде для операторов, содержащих псевдоним, именованный параметр, например: «alias = yyyy». Или, вероятно, какой-то шаблон url, связанный с псевдонимом в качестве дополнительного параметра в urls.py? – Tisho
@ Тишо - ты был прав. Пожалуйста, поместите свой комментарий в качестве ответа, чтобы я мог продвигать/принимать. В принципе, у меня был URL-адрес, который я еще не написал. Когда обработчик запроса пытался просмотреть все взгляды в списке URL-адресов, он попал в тот, который я еще должен был написать ... и бум! – Dave
Приятно слышать, что это помогает :) – Tisho