Django:在哪里放置辅助函数?

The*_*i.9 62 python django

我有几个我写的功能,我需要在我的django应用程序中使用.我将文件放在哪里,如何在我的观点中使它们可以调用?

Anu*_*yal 67

我通常把这样的app特定帮助函数放在文件utils.py中并使用像这样的东西

from myapp.utils import my_cool_func

def view_coolness(request):
    data = my_cool_func(request)
    return render_to_response("xxx.html")
Run Code Online (Sandbox Code Playgroud)

但这取决于你的助手做什么,可能是他们修改请求,可能是中间件的一部分,所以你需要告诉那些帮助器功能究竟做什么

  • 在代码中提及应用程序通常是一个坏主意.只需执行`from utils import my_cool_func`即可,无需重新声明您已经使用的应用程序名称. (14认同)
  • @Peter Bengtsson,可能是但你如何在一个包中的模块中导入utils,例如我有几个视图模块的views文件夹,然后是中间件文件夹等 (3认同)
  • 哇2009年是非常不同的.基本上,如果可以用较少的单词来表达某些内容,那就用较少的单词来表达.如果您决定重命名,也不要与名称绑定是一件好事. (2认同)
  • 我会使用“from .utils import func” (2认同)

juj*_*ule 11

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

使用例如git repo来存储这个应用程序并管理部署和演变(子模块)

使用公共git仓库,这样你就可以与社区分享:)


mon*_*kut 7

如果它们与特定应用程序相关,我通常只需将它们放在相关的应用程序文件夹中,并将文件命名为"functions.py".

如果它们不是特定于应用程序,您可以只创建一个"函数"应用程序文件夹并将它们放在那里.