帮助pylint理解django web框架的pylint插件
pylint-django的Python项目详细描述
Pylint django
关于
pylint django是一个用于改进代码的插件。 使用django分析代码时进行分析。它也被 浏览工具。
安装
要安装:
pip install pylint-django
警告: Pylint django 默认情况下不会安装 django ,因为 这会带来更多的麻烦, 参见讨论 。如果你愿意 要自动安装最新版本的django,请执行以下操作:
pip install pylint-django[with_django]
否则,请整理您的测试环境,并请不要报告问题 关于失踪的詹戈!
用法
确保pylint django已安装并在您的路径上,然后执行:
pylint --load-plugins pylint_django [..other options..] <path_to_your_sources>
浏览者
如果您已经安装了"浏览者",那么Pylint Django就已经安装了 作为依赖项安装,如果django是 检测到:
prospector [..other options..]
功能
- 防止有关django生成的属性(如 model.objects 或 views.request
- 防止在使用 foreignkey 属性时出现警告("的实例 foreignkey没有<;x>;成员"。
- 修复Pylint对模型类型和表单字段属性的知识
-
验证
模型。
方法。 - meta 表单和模型的信息类不会生成错误。
- 标记modelform.meta中exclude属性的危险使用。
附加插件
pylint_django.checkers.db_performance 查找添加新的 模型字段和这些字段具有默认值。根据 django文档 这可能会导致性能损失,尤其是在大型表上。喜欢的方式 添加一个新的db列,因为它将立即创建 然后可能用所需的默认值填充表。
只有从子目录的最后一次迁移是小精灵!
默认情况下此插件被禁用!要启用它:
pylint --load-plugins pylint_django --load-plugins pylint_django.checkers.db_performance
已知问题
如果按外键模型的名称(字符串)引用外键模型,则pylint django可能不是 能够找到模型并报告问题,因为它不知道 此字段的类型为。如果您的 models.py 本身没有导入外键类 可能有一些导入问题(循环依赖关系)阻止引用 直接使用外键类,在这种情况下,pylint django不能做大量的工作。 如果只是为了方便而做的话,那么开发人员就要解决这个问题了。
贡献
如果您想添加您的姓名到 contributors.rst 文件中 合并请求时记入贷方。您还可以添加到 changelog.rst 文件,如果您愿意,尽管我们在合并时也会这样做。
测试
测试包的结构遵循pylint本身的结构。
它相当简单:创建一个以 func开头的模块 一个测试名称,并在其中插入一些代码。测试将运行pylint 针对这些模块。如果现在没有消息出现,那么 没关系,只要运行 scripts/test.sh 来检查它是否工作就可以了。
理想情况下,向文件中添加一些Pylint错误抑制消息以防止 虚假的警告,因为这些都是微小的模块,不是为了 做任何事都不需要完美。
可以使用预期的错误输出进行测试,例如,如果 添加新消息或只是接受Pylint应该发出的警告。 test_file_name.txt文件包含 格式 错误类型:行 编号:类名或空:详细错误文本的第一行
许可证
Pylint Django 在GPLV2许可下可用。