Python Django:在哪里放置助手函数?

Python Django:在哪里放置助手函数?,python,django,Python,Django,我编写了几个函数,需要在django应用程序中使用。我应该将文件放在何处,如何使它们在我的视图中可调用?我通常将此类特定于应用程序的帮助函数放在文件utils.py中,并使用类似的内容 from myapp.utils import my_cool_func def view_coolness(request): data = my_cool_func(request) return render_to_response("xxx.html") 但是这取决于你的助手做什么,可

我编写了几个函数,需要在django应用程序中使用。我应该将文件放在何处,如何使它们在我的视图中可调用?

我通常将此类特定于应用程序的帮助函数放在文件utils.py中,并使用类似的内容

from myapp.utils import my_cool_func

def view_coolness(request):
    data = my_cool_func(request)
    return render_to_response("xxx.html")

但是这取决于你的助手做什么,可能是他们修改请求,也可能是中间件的一部分,所以你需要知道这些助手函数到底做了什么。如果它们与特定的应用程序相关,我通常只把它们放在相关的应用程序文件夹中,并将文件命名为'functions.py'


如果它们不是特定于某个应用程序,我会为跨应用程序共享的组件(测试、模型、功能等)制作一个
commons
应用程序。

创建一个包含通用功能的可重用应用程序,以便您可以在项目之间共享

例如,使用git repo存储此应用程序并管理部署和演进(子模块)


使用公共git repo以便与社区共享:)

我正在应用文件夹中使用新的python文件
service.py
。该文件主要包含特定应用程序的帮助器查询。我还曾在Django应用程序中创建一个文件夹,其中包含全局助手函数和常量。

在代码中提及该应用程序通常不是一个好主意。只需从utils导入my_cool_func执行
,就可以工作,而无需重新声明您已经使用的应用程序的名称。@Peter Bengtsson,可能是,但如何将utils导入到包中的模块中,例如,我有几个视图模块的视图文件夹,然后中间件文件夹etcWow 2009非常不同。基本上,如果某件事可以用更少的话来表达,就用更少的话来表达。此外,如果您决定重命名该模块,则不与该名称绑定也是一件好事。这意味着您无法轻松移动该模块。例如,我将使用
from。utils import func
这是最佳解决方案