+-
python – 在几个文件中拆分views.py.
我的views.py变得太大了,很难找到正确的观点.

如何将其拆分为多个文件然后导入?它涉及任何速度损失吗?

我可以对models.py做同样的事情吗?

最佳答案
在Django中,一切都是 Python模块(* .py).您可以在里面创建一个带有__init__.py的视图文件夹,您仍然可以导入视图,因为这也实现了一个Python模块.但是一个例子会更好.

您原来的views.py可能如下所示:

def view1(arg):
    pass

def view2(arg):
   pass

使用以下文件夹/文件结构,它将工作相同:

views/
   __init__.py
   viewsa.py
   viewsb.py

viewsa.py:

def view1(arg):
    pass

viewsb.py:

def view2(arg):
    pass

__init__.py:

from viewsa import view1
from viewsb import view2

快速解释是:当你从视图中编写import view1时,Python会查找view1

> views.py,这是第一个(原始)案例中发生的情况
> views / __ init__.py,这是第二种情况.这里,__ init__.py能够提供view1方法,因为它导入了它.

使用这种解决方案,您可能无需在urls.py中更改import或urlpatterns参数

如果每个新视图文件中有许多方法,您可能会发现在views / __ init__.py中使用*进行导入很有用,如下所示:

from viewsa import *
from viewsb import *

我实际上不知道速度问题(但我怀疑有没有).

对于模型,它可能有点困难.

点击查看更多相关文章

转载注明原文:python – 在几个文件中拆分views.py. - 乐贴网