我的Django项目上安装了一些应用程序。我希望某些应用能够从其他一些应用中获取信息。因此,我希望为每个应用程序提供一些有关权限的基本元信息。
所以,如果我有三个应用程序:A1,A2和A3。
我想将A1设置为只读。将A2设置为读/写。将A3设置为无法读取或写入。
元描述主要是为了我自己的理智。这些应用程序不适用于我没有写过的应用程序。
有没有办法在应用级别添加此类元数据?也许是通过Django app的未使用的描述字段?
答案 0 :(得分:3)
不知道为什么你会需要这个,但通常你会将所有元信息放在应用程序的__init__.py
中。然后你可以从另一个应用程序访问它:
myapp1/__init__.py
:
version = '0.1.0'
permissions = ['read', 'write']
myapp2/utils.py
:
from django.conf import settings
import importlib
for app_name in settings.INSTALLED_APPS:
app = importlib.import_module(app_name)
if hasattr(app, 'permissions') and 'write' in app.permissions:
do_something()