问题描述

最近,PyCharm 不再对使用黑色格式化程序时获得的格式化发誓,我完全放弃了内置格式化程序。我按照本指令](https://black.readthedocs.io/en/latest/integrations/editors.html#pycharm-intellij-idea)的[中所述进行了所有操作。然后我设置 CI 使其不会跳过与黑色格式不对应的代码。为了防止错误代码到达 CI,我在 git 中设置了一个 precommit 钩子。在迁移之前,一切都很好。在普通代码中,我不断按下一个热键,将代码按顺序排列。更正了该行-单击。但是在自动创建的迁移中,不需要打开文件,因此提交没有通过。生成迁移,尝试提交,重新格式化代码,提交。而这一系列动作一遍又一遍地重复着。我想避免这种情况。

解决方案

我在 Windows 上工作。自然,我的代码在 docker 中工作。每次从控制台启动应用程序容器时,我都会挂载主文件夹。结果,在容器运行之间保留了 bash 和 django shell_plus 命令的历史

而且既然有主文件夹,那么就可以初始化别名(aliases)。这是我的文件.bashrc的内容

echo BASHRC
m () { ./manage.py $@; }
m1 () { MDO_DB=LOCAL m makemigrations $@ && black .; }

alias m2='MDO_DB=LOCAL m migrate'
alias mm='m1 && m2'
alias plus='m shell_plus --print-sql'

alias -p

进入全屏模式 退出全屏模式

  • m1 - 创建迁移

  • m2 - 迁移应用

  • 毫米 - 创建和应用

顺便说一下,关于 MDO_DB 变量。我可以在不同的数据库之间切换:本地、测试甚至产品。这个变量对此负责。我可以连接生产,但我从来不这样做,但是当我需要通过调试器对测试环境的数据进行调试时,我经常连接到测试服务器。为了仅在本地应用迁移,使用了MDO_DB=LOCAL的明确指示。

使用别名后,我不需要被格式化分心,因为。所有迁移和其他项目文件都已完全格式化。

词汇表

  • 热键 - 热键

  • 点击 - 点击

  • 别名,别名-别名

  • 产品 - 生产服务器

  • 词汇表 - 字典

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐