在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
.py :
from viewsa import view1
from viewsb import view2
在快速的解释是:当你写from views import view1
的Python会寻找在厂景
views.py
,这是第一个(原始)情况下发生的情况
views/__init__.py
,这是第二种情况。在这里,__init__.py
能够提供view1方法,因为它可以导入它。
使用这种解决方案,你可能无需更改import或更改urlpattern参数urls.py
如果每个新视图文件中都有许多方法,那么views/__init__.py
使用导入可能会很有用*,如下所示:
from viewsa import *
from viewsb import *
我实际上不了解速度问题(但我怀疑是否有任何问题)。
对于模型,可能会有些困难。