将视图移动到单独的文件而不违反PEP-8

时间:2017-03-07 13:38:09

标签: python-3.x flask pep8

我正在制作Flask网络应用,并且像往常一样,我的__init__.py就是这样的:

import a
from flask import Flask
app = Flask(__name__)
from . import views

最近我了解到没有顶级导入违反了PEP-8,所以这段代码很糟糕。但我的views.py看起来像那样:

from . import app
@app.route('/')
def hello():
    pass

因此,在导入app之前需要views.py进行实例化。我应该如何改变它以使其符合PEP-8但仍然有效?

1 个答案:

答案 0 :(得分:2)

您并非违反PEP 8"。

PEP 8文档 - 编码风格指南的标题为: " A Foolish Consistency is the Hobgoblin of Little Minds",文档的角色重复为样式指南

现在,更改应用程序的import语句顺序是应用程序的基本逻辑的一部分 - 这些语句的顺序有所不同,而且不是样式问题。非常适合" style"它们。

现在,人们担心违反PEP 8"通常不是因为源代码看起来像人类,而是因为在提交/测试/构建工作流程上运行了一些linter程序,这些程序会在所谓的" PEP 8违规情况下溢出错误"。这些短语中的任何一个都没有(至今)真正的“#34;编码风格指南”和#34; PEP 8。

所以,只需用linter程序不抱怨的方式标记带有后期导入的行。通常,这是通过在读取# noQA的行的末尾添加内联注释来实现的 - 您可以这样做 - 但确切的文本可能会因您的linter程序而异。