django共享库/类

Mo *_*abi 10 python django

我是django的新手,正在寻找建立共享库的建议.我正在计划创建我想在项目中的所有应用程序中使用的类.放置它们的最佳位置在哪里?

前抽象模型

问候,

Jos*_*ton 15

我们通常将项目设置为:

/site/
    __init__.py
    manage.py
    settings.py
    urls.py
    /apps/
        __init__.py
        /appA/
            __init__.py
        /appB/
            __init__.py
    /lib/
        __init__.py
        /django-lib/
            __init__.py
        /shared-lib/
            __init__.py
Run Code Online (Sandbox Code Playgroud)

只需确保您的站点目录位于您的python路径上:

import sys
sys.path.append('/path/to/site/')
Run Code Online (Sandbox Code Playgroud)

此外,确保站点,应用程序和lib中存在init.py,以便可以使用点表示法导入将它们视为模块(import site.lib.shared-lib)

编辑:

在回答有关python路径的问题时,这一切都与"manage.py"或等效文件所在的位置有关.如果它位于/ site /目录下(在apps和lib旁边),则PYTHONPATH应该没问题.

您需要确保每个目录都包含一个名为的空文件__init__.py.这告诉Python将该目录视为模块.请参阅上面的新增和改进的ASCII艺术.


who*_*ami 9

我从Django的两个Scoops中学到是,你将共享代码放在你自己调用的Django应用程序中core.

要使用该core应用程序,就类似于您从其他应用程序交叉使用类的方式.

要了解更多信息,请转到标题为"那些随机公用事业怎么样?"的书的第28章.