내 장고 앱을위한 몇 가지 기능을 추가하기 위해 새 클래스를 개발 중이며이 클래스에서 상속 한 각 클래스를 검색/수집해야합니다. 나는 이미 가져온 특정 모듈 내에서 모든 것을 스캔 할 수있는 모든 것을 갖추었지만, 각 어플리케이션 내에서 특정 파일을 스캔하는 것이 가장 좋은 방법인지 궁금합니다. ? 나는 다른 애플 리케이션이 이런 일을하고 분명히 장고 자체가 않습니다 알아. 아마도 파일 시스템을 스캔하기 위해 함께 해킹 할 수 있지만이 문제를 해결하는 더 나은/일반적인 방법이 있는지 궁금해하고 있었습니까? 나는 그것에 대해 많이 알 수 없었다.Scan Django App Modules
항상 하나의 패키지 안에 클래스를 정의 할 수 있지만 응용 프로그램에 묶여 있기 때문에 모든 곳에서 모델을 가져 오기보다는 각 응용 프로그램에서 정의하는 것이 가장 좋습니다.
예를 원하는 인터페이스 :
def get_app_implementations(module_name):
# ... What's the least hacky way to get each of the app packages?
# in a way that they can be imported using __import__ or the likes
results = []
for package in packages:
try:
scanned = __import__("{0}.{1}".format(package,module_name))
results.append(scanned)
except ImportError:
pass
return results
이것은 유망 해 보이고 훨씬 더 깨끗하게 느껴집니다. 고맙습니다! – RutledgePaulV
django가 import를 명시 적으로 호출 할 필요없이 플러그인을 등록 할 수 있도록 각 app 패키지에 장고 자동 가져 오기를 만드는 방법이 있습니까? ;) – RutledgePaulV
1.7의 새로운 [AppConfig 기능] (https://docs.djangoproject.com/ko/1.7/ref/applications/)과 같은 소리가 원하는 것입니다. –