Django测试客户端和子域

时间:2011-12-05 17:14:01

标签: python django testing

我试图找出如何让Django测试客户端与我的应用程序配合使用,让每个用户都拥有自己的子域名。即每个帐户都有account1.myapp.com,account2.myapp.com。

用户可以是多个子域(类似的basecamp&model;模型)的成员,因此我处理在中间件中发出请求的子域。

在我编写单元测试时,我意识到所有请求都发送给" http:// testserver"我的中间件然后重定向,随后的302没有被跟踪,因为它被确定为外部请求。

任何人都知道如何通过测试客户端启用此功能?我目前正在django中进行一些黑客攻击以启用它。

1 个答案:

答案 0 :(得分:8)

在测试中,使用客户端时,添加HTTP_HOST参数:

response = c.post(reverse('my-url'), data={}, HTTP_HOST='account1.myapp.com')
现在你应该看到主机已经改变了