所以我的团队和我已经购买了Docker - 它非常适合部署和测试.我真正的问题是如何建立一个出色的开发人员体验,特别是围绕编写Python应用程序,但这个问题可以推广到nodejs,Java等.
问题:在编写Python应用程序时,我真的很喜欢具有良好的linting/autocomplete功能,有一些非常好的编辑器(Atom,VSCode,PyCharm)提供这些,但大多数人真的希望在本地磁盘上安装Python.Docker的真正优势在于所有核心语言和任何项目库都可以放在容器中,因此在主机上复制所有这些只是为了开发是一件痛苦的事.
我知道PyCharm专业版确实支持Docker和docker-compose,但我发现它相当迟缓,很多测试运行功能被破坏了.最重要的是,我真的想要一些我可以提交版本控制的东西,以便团队可以共享开发设置,人们不必为自己的系统重复所有步骤.
我的一些想法是:
除了安装卷和编辑文本之外,有没有人能够建立一个更高效的开发环境?
使用序列化程序中的开箱即用字段,验证错误消息如下所示:
{
"product": [
"This field must be unique."
],
"price": [
"This field is required."
]
}
Run Code Online (Sandbox Code Playgroud)
但是,对于我正在编写的API,我想为每个失败的验证提供唯一的错误代码,以便客户端可以以编程方式响应验证错误,或者可以在UI中提供自己的自定义消息.理想情况下,错误json看起来像这样:
{
"product": [
{
"code": "unique",
"message": "This field must be unique."
}
],
"price": [
{
"code": "required",
"message": "This field is required."
}
]
}
Run Code Online (Sandbox Code Playgroud)
使用ValidationErrors的当前方法使得这相当困难.查看代码,似乎目前不支持此类错误报告.但是,我正在寻找一种方法来覆盖错误处理以适应此模型.