Django:通用函数应该存放在哪个位置?适用于所有应用程序。

4

我刚开始接触Django,我有一些函数会被项目中所有的应用程序使用,但是我不知道在哪里存储这些文件以及如何调用它们。

是否有建议的方式来存储这些文件在项目中?


1
创建一个与您的应用程序相邻的包,例如命名为 handlers,然后在您的所有应用程序中,您可以这样调用它:from handlers import function_name - Lemayzeur
1
@Lemayzeur “创建一个包”是一个文件夹吗?还是有像django-admin这样的功能可以创建它? - Sugumar Venkatesan
1
创建一个包或Python包意味着:创建一个文件夹,并在其中添加一个空文件“init.py”,并在“init.py”中创建所有函数。 - Lemayzeur
1个回答

12
在你的Django应用旁边创建一个Python包。目录结构应该类似于:
django_app/
    django_app/
       __init__.py
       apps.py
       settings.py
       urls.py
       views.py
       wsgi.py
    sub_app/
       __init__.py
       apps.py
       urls.py
       views.py
    utils/
        __init__.py
        module_one.py
        module_two.py

这里的文件夹utils是包含所有辅助函数的软件包。要使用__init__.py中定义的函数,您可以使用from utils import function_name。对于在其他文件(如module_one.py)中定义的函数,您可以使用from utils.module_one import function_name

注意:__init__.py文件是Python包的必需品。即使其中没有定义任何函数,在该文件夹中也应该存在一个名为__init__.py的空文件,以便将该文件夹分类为Python软件包。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接