2012-08-26 2 views
1

Django 프로젝트에 몇 가지 앱이 설치되어 있습니다. 일부 앱이 다른 앱에서 정보를 얻을 수 있기를 바랍니다. 따라서 각 앱에 권한에 대한 기본적인 메타 정보를 제공하고자합니다.Django 앱에 대한 메타 정보 설정

그래서 세 개의 앱이 있다면 : A1, A2 및 A3.

A1을 읽기 전용으로 설정하고 싶습니다. A2를 읽기/쓰기로 설정하십시오. A3을 읽거나 쓸 수 없도록 설정하십시오.

메타 설명은 대부분 내 자신을위한 것입니다. 이러한 앱은 내가 작성하지 않은 앱에서는 작동하지 않습니다.

앱 수준에서 이러한 메타 데이터를 추가 할 수있는 방법이 있습니까? 아마도 장고 앱의 사용되지 않는 설명 필드를 통해?

답변

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() 
+0

을! 정말 고마워! – Alexis

+0

또한'__init__'.py ...되도록 굵은 글씨를 벗어나면 편집하고 싶을 것입니다 – Alexis