【发布时间】:2014-05-18 07:00:50
【问题描述】:
为什么这两个断言有效:
from django.test import TestCase
class MyTests(TestCase):
def test_1(self):
response = self.client.get(reverse_lazy('create_cm'))
self.assertRedirects(response, reverse('upload_booth'))
self.assertRedirects(response, str(reverse_lazy('upload_booth')))
但这不是:
self.assertRedirects(response, reverse_lazy('upload_booth'))
而不是产生此错误消息:
文件 "/usr/local/lib/python2.7/dist-packages/django/test/testcases.py", 第 300 行,在 assertRedirects 中 e_query, e_fragment))
文件“/usr/lib/python2.7/urlparse.py”,第 234 行,在 urlunsplit url = '//' + (netloc or '') + url TypeError: coercing to Unicode: need string or buffer, proxy found
reverse 和 reverse_lazy 的返回值到底有什么不同,为什么不同?
【问题讨论】:
标签: django django-testing