1

Django プロジェクトにいくつかのアプリをインストールしています。一部のアプリが他のアプリから情報を取得できるようにしたいと考えています。したがって、各アプリにアクセス許可に関する基本的なメタ情報を提供することを検討しています。

つまり、A1、A2、A3 の 3 つのアプリがあるとします。

A1 を読み取り専用に設定したいと思います。A2 を読み取り/書き込みに設定します。A3 を読み書きできないように設定します。

メタディスクリプションは、主に私自身の正気を保つためのものです。これらのアプリは、私が作成した以外のアプリでは動作しません。

このようなメタデータをアプリ レベルで追加する方法はありますか? おそらく、Django アプリの未使用の説明フィールドを介してですか?

4

1 に答える 1

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()
于 2012-08-26T04:43:08.520 に答える