Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在不违反PEP-8的情况下将视图移动到单独的文件_Python 3.x_Flask_Pep8 - Fatal编程技术网

Python 3.x 在不违反PEP-8的情况下将视图移动到单独的文件

Python 3.x 在不违反PEP-8的情况下将视图移动到单独的文件,python-3.x,flask,pep8,Python 3.x,Flask,Pep8,我正在制作一个Flask web应用程序,像往常一样,我的\uuuu init\uuuu.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 因此需要在导入view

我正在制作一个Flask web应用程序,像往常一样,我的
\uuuu init\uuuu.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
因此需要在导入
views.py
之前实例化
app
。我应该如何更改它,使其符合PEP-8,但仍然有效?

您没有“违反PEP-8”

PEP 8文件-编码风格指南有一个主题为: “”中,其中在文档中的角色被重申为样式的指南

现在,更改应用程序工作的导入语句顺序是应用程序基本逻辑的一部分-这些语句的顺序会产生差异,而不是风格问题。“风格”就这么多了

现在,担心“违反PEP 8”的人通常不是因为源代码对人类的影响,而是因为在提交/测试/构建工作流上运行的一些linter程序会在所谓的“违反PEP 8”上泄漏错误。到目前为止,这些Linter中没有一个具备PEP 8“编码风格指南”真正精神所要求的常识


因此,只要用linter程序不会抱怨的方式标记延迟导入的行。通常,这是通过在行尾添加一条内联注释来完成的,阅读
#noQA
——您也可以这样做——但确切的文本可能会因linter程序而异

您是否考虑过编写一个函数来创建视图,将
应用程序
作为参数<代码>从视图导入创建视图;创建视图(应用程序)。