DRF:测试时设置语言
DRF: Set language while testing
我有一个带有 DateField 的序列化程序,它根据用户的语言设置进行了本地化。
我想编写一个测试并验证格式是否正常工作,但我不知道如何在使用 APIClient 时设置所需的语言。
我的测试是这样的:
self.api_client = APIClient()
# ....
url = reverse("view_name", kwargs={...})
self.api_client.force_authenticate(user=self.user)
response = self.api_client.get(url, format="json", follow=True)
self.assertEqual(response.status_code, status.HTTP_200_OK)
# asserts
通过这种方式,测试成功地适用于我的默认语言设置。如何明确设置此请求的语言代码。
可以在初始化 APIClient 时直接设置语言 header。
self.api_client = APIClient(HTTP_ACCEPT_LANGUAGE="de")
我有一个带有 DateField 的序列化程序,它根据用户的语言设置进行了本地化。
我想编写一个测试并验证格式是否正常工作,但我不知道如何在使用 APIClient 时设置所需的语言。
我的测试是这样的:
self.api_client = APIClient()
# ....
url = reverse("view_name", kwargs={...})
self.api_client.force_authenticate(user=self.user)
response = self.api_client.get(url, format="json", follow=True)
self.assertEqual(response.status_code, status.HTTP_200_OK)
# asserts
通过这种方式,测试成功地适用于我的默认语言设置。如何明确设置此请求的语言代码。
可以在初始化 APIClient 时直接设置语言 header。
self.api_client = APIClient(HTTP_ACCEPT_LANGUAGE="de")