django-在多个视图中重用函数

django-在多个视图中重用函数,django,django-views,Django,Django Views,我在一些视图中创建了一系列函数,这些函数必须在许多其他视图中重用。我是否需要创建一个类并将这些函数放入一个类中?如果是,那么在Django中究竟应该如何执行,以及如何在新视图中调用和启动它们?Django视图只是Python函数。您可以从它们调用其他Python函数,就像从任何其他Python代码调用一样。将函数放入.py文件中,导入它,然后调用函数 当然,出于其他原因,创建一个类来保存函数可能是有意义的,但从视图中调用它们肯定不需要这样做。在我看来,如果您有很多函数在项目中广泛使用,那么将所有

我在一些视图中创建了一系列函数,这些函数必须在许多其他视图中重用。我是否需要创建一个类并将这些函数放入一个类中?如果是,那么在Django中究竟应该如何执行,以及如何在新视图中调用和启动它们?

Django视图只是Python函数。您可以从它们调用其他Python函数,就像从任何其他Python代码调用一样。将函数放入.py文件中,导入它,然后调用函数


当然,出于其他原因,创建一个类来保存函数可能是有意义的,但从视图中调用它们肯定不需要这样做。

在我看来,如果您有很多函数在项目中广泛使用,那么将所有这些放在某个单独的应用程序中是有意义的。为此,我创建了一些名为“contrib”的模块。它可以避免将来维护此代码的时间

解决方案是在应用程序文件夹中创建myfunctions.py文件并将其导入视图中。您的视图文件如下所示:

import myfunctions

def my_view(request):
    .....
    foo = myfunctions.bar()
    ....

你看起来很复杂。Django只是另一个Python应用程序,生活在Python世界中。例如,您可以创建文件library.py并在需要的地方导入此文件(在需要库函数的模块中)。如果需要库函数从数据库中获取数据,只需在library.py中导入模型并使用它们即可

Django没有像“模块”这样的宏大想法。在创建架构时,您可以定义在您的情况下什么是模块。一般来说,这只是一个简单的目录,里面有init.py文件,可以从那里导入文件


希望能有所帮助。

假设我在django项目的根目录中创建了一个名为myfunctions.py的文件,并将我的函数放在其中,我如何在视图中调用它们?我如何在django中装入我自己的模块?事实上,模块cat只是一个包含init.py文件的目录,你可以把你的代码放在哪里,将来像“从我的模块导入一些东西”一样导入,或者把它放在其他文件中“从我的模块导入一些东西”或者“如何在新视图中实例化函数呢?我做了类似foo=myfunctions.bar()的事情,但我只需要像在新视图中一样运行myfunctions.bar()。现在,当我执行foo=myfunctions.bar()时,什么也不会发生。