python - DRF:在测试时设置语言
问题描述
我有一个带有 DateField 的序列化程序,它根据用户的语言设置进行了本地化。
我想编写一个测试并验证格式是否正常工作,但我不知道在使用 APIClient 时如何设置 reuqest 语言。
这就是我的测试的样子:
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 时直接设置语言头。
self.api_client = APIClient(HTTP_ACCEPT_LANGUAGE="de")
推荐阅读
- python - 任何人都可以使用 Django 频道帮助我解决这个错误吗
- python - 在 Windows 10 上更新 python 后 pip 安装问题
- ios - 组合:像 Future 一样的发布者,但具有多个值
- google-sheets - 如何根据两个不同列中的列中的值自动填充谷歌表格中的数据
- sql-server - SQL Server openjson
- c++ - 仅通过 C++ 中数组的不同初始化方法在相同的输入上获得两个不同的答案
- node.js - 如何保存我不明白 .save() 工作的猫鼬数据?
- c# - 在 Mongodb C# 中使用 AsQueryable 进行过滤 - ExpandoObject
- python - IndexError:列表索引超出范围(使用 python 的网络爬虫)
- javascript - 如何将初始值添加到 redux 表单单选按钮