迭代 Django 中的应用程序子集
Iterating over a subset of Apps in Django
作为 Django 项目的一部分,我的用户将能够 select 从各种选项中。每个选项的功能都存储在单独的应用程序中。我的项目结构如下所示:
MyProject/
MyProject
App1
App2
Options/
Option1/
Option2/
Option3/
…
…
manage.py
Option1、Option2 等每个本身都是一个应用程序,并在 INSTALLED_APPS
中列出 我的问题是:是否有一种方法可以遍历选项目录中包含的每个应用程序。例如,假设每个应用程序都包含一个名为 utils.py 的文件,每个 utils.py.
中都有一个名为 foo 的函数
有没有办法做这样的事情:
from .. import Options
survey = [ app.utils.foo() for app in Options]
做不到这一点,有没有办法只遍历所有应用程序?也许我可以用 django.apps
做些什么?
取决于您如何配置 apps.py
from django.apps import apps
for name, app in apps.app_configs.items():
if name in ['OPTIONS-N']:
utils = app.module.utils
作为 Django 项目的一部分,我的用户将能够 select 从各种选项中。每个选项的功能都存储在单独的应用程序中。我的项目结构如下所示:
MyProject/
MyProject
App1
App2
Options/
Option1/
Option2/
Option3/
…
…
manage.py
Option1、Option2 等每个本身都是一个应用程序,并在 INSTALLED_APPS
中列出 我的问题是:是否有一种方法可以遍历选项目录中包含的每个应用程序。例如,假设每个应用程序都包含一个名为 utils.py 的文件,每个 utils.py.
有没有办法做这样的事情:
from .. import Options
survey = [ app.utils.foo() for app in Options]
做不到这一点,有没有办法只遍历所有应用程序?也许我可以用 django.apps
做些什么?
取决于您如何配置 apps.py
from django.apps import apps
for name, app in apps.app_configs.items():
if name in ['OPTIONS-N']:
utils = app.module.utils