Django:帮助函数放在哪里?

87 投票
4 回答
47639 浏览
提问于 2025-04-15 17:04

我写了几个函数,想在我的Django应用里用上。请问我应该把这些函数放在哪个文件里?还有,我该怎么在我的视图里调用它们呢?

4 个回答

19

创建一个可以重复使用的应用,把你常用的功能放进去,这样你就可以在不同的项目之间共享这些功能。

比如,可以用一个git代码库来存放这个应用,方便管理更新和版本(可以用子模块)。

最好使用一个公开的git代码库,这样你就可以和大家分享你的成果了 :)

20

如果这些文件是跟某个特定的应用有关,我通常会把它们放在那个应用的文件夹里,并把文件命名为'functions.py'。

如果这些文件不是特定于某个应用的,我会创建一个叫commons的应用,用来存放在多个应用中共享的组件(比如测试、模型、函数等等)。

100

我通常会把这种特定于应用的辅助函数放在一个叫 utils.py 的文件里,然后像这样使用它们:

from myapp.utils import my_cool_func

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

不过这要看你的辅助函数具体做什么。如果它们是用来修改请求的,那它们可能就属于中间件的一部分。所以你需要明确说明这些辅助函数到底是做什么的。

撰写回答