【发布时间】:2014-03-15 10:30:45
【问题描述】:
我正在使用 django-subdomains 项目在我的 django 项目中启用子域,效果很好。
但是,在编写测试时,我无法弄清楚如何让 Django 测试客户端向不同的子域发送请求。
即使我将 ROOT_URLCONF 更改为使用@override_settings 指向 SUBDOMAIN_URLCONFS 中的条目之一,它也只会向根域发送请求。但是如果我直接把settings.py中的ROOT_URLCONF改成想要的子域urlconf就可以了,这显然是不可接受的方案。
还尝试对 Django TestCase 类进行子类化,并将“url”字段设置为子域 urlconf,但请求仍然要 root,导致 404。
最后我尝试使用subdomains.utils.reverse获取绝对url,但是测试客户端根本不接受这个。
这个问题可能与Django Test Client and Subdomains有关。有人在评论中提到,黑客已经被用来解决这个问题。请阐明所说的黑客甚至更好的解决方案,以解决这个肯定不那么不常见的用例。
【问题讨论】:
标签: python django subdomain django-urls django-testing