我试图找出如何让Django测试客户端与我的应用程序配合使用,让每个用户都拥有自己的子域名。即每个帐户都有account1.myapp.com,account2.myapp.com。
用户可以是多个子域(类似的basecamp&model;模型)的成员,因此我处理在中间件中发出请求的子域。
在我编写单元测试时,我意识到所有请求都发送给" http:// testserver"我的中间件然后重定向,随后的302没有被跟踪,因为它被确定为外部请求。
任何人都知道如何通过测试客户端启用此功能?我目前正在django中进行一些黑客攻击以启用它。
答案 0 :(得分:8)
在测试中,使用客户端时,添加HTTP_HOST参数:
response = c.post(reverse('my-url'), data={}, HTTP_HOST='account1.myapp.com')
现在你应该看到主机已经改变了