我views.py已经变得太大了,很难找到正确的视图。
views.py
如何将其拆分为多个文件然后导入?它是否涉及任何速度损失?
我可以这样做models.py吗?
models.py
在 Django 中,一切都是 Python 模块 (*.py)。您可以创建一个带有__init__.py内部的视图文件夹,您仍然可以导入您的视图,因为这也实现了一个 Python 模块。但是一个例子会更好。
__init__.py
您的原件views.py可能如下所示:
def view1(arg): pass def view2(arg): pass
使用以下文件夹/文件结构,它的工作方式相同:
views/ __init__.py viewsa.py viewsb.py
viewsa.py:
viewsa.py
def view1(arg): pass
viewsb.py:
viewsb.py
def view2(arg): pass
__init__.py:
from viewsa import view1 from viewsb import view2
快速 的解释是:当你编写from views import view1Python 时,会在
from views import view1
views.py,这是在第一个(原始)案例中发生的情况
views/__init__.py,这是在第二种情况下发生的情况。在这里,__init__.py能够提供 view1 方法,因为它导入了它。
views/__init__.py
使用这种解决方案,您可能无需更改import或更改urlpattern参数urls.py
import
urlpattern
urls.py
views/__init__.py如果您在每个新视图文件中都有许多方法,您可能会发现将导入设置为 in use很有用*,如下所示:
*
from viewsa import * from viewsb import *
我实际上不知道速度问题(但我怀疑有任何问题)。
对于模型来说,这可能有点困难。