gpt4 book ai didi

python - 在几个文件中拆分views.py

转载 作者:IT老高 更新时间:2023-10-28 12:26:25 27 4
gpt4 key购买 nike

我的 views.py 太大了,很难找到合适的 View 。

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

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

最佳答案

在 Django 中,一切都是 Python 模块 (*.py)。您可以创建一个包含 __init__.py 的 View 文件夹,您仍然可以导入您的 View ,因为这也实现了一个 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

快速的解释是:当你写from views import view1 Python会在

中寻找view1
  1. views.py,这是第一个(原始)案例中发生的情况

  2. views/__init__.py,就是第二种情况。在这里,__init__.py 能够提供 view1 方法,因为它导入了它。

使用这种解决方案,您可能无需更改 urls.py

中的 importurlpattern 的参数

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

from viewsa import *
from viewsb import *

我实际上不知道速度问题(但我怀疑是否存在)。

对于模型来说,这可能有点困难。

关于python - 在几个文件中拆分views.py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1921771/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com