실제로 프로젝트가있는 사이트가 있습니다 (색인, 로그인 페이지).앱이 장고에 설치된 경우보기 수정
내 새 앱이 설치된 경우 예를 들어 색인을 조정해야합니다 (예 : 내 앱 모델로 템플릿에 표를 추가하는 링크).
수 있도록해야하는 응용 프로그램의 제거 내가 그렇게 할 수있는 방법
그대로 프로젝트? 가능한가?
실제로 프로젝트가있는 사이트가 있습니다 (색인, 로그인 페이지).앱이 장고에 설치된 경우보기 수정
내 새 앱이 설치된 경우 예를 들어 색인을 조정해야합니다 (예 : 내 앱 모델로 템플릿에 표를 추가하는 링크).
수 있도록해야하는 응용 프로그램의 제거 내가 그렇게 할 수있는 방법
그대로 프로젝트? 가능한가?
def my_view(request):
from django.conf import settings
app_installed = 'app_name' in settings.INSTALLED_APPS
return render_to_response(template_name, {'app_installed': app_installed})
템플릿 :
{% if app_installed %}
...
{% endif %}
또는 사용자 정의 컨텍스트 프로세서를 사용합니다. settings.py
에서 installed_apps.py
from django.conf import settings
def installed_apps(request):
return {
'app_installed' : 'app_name' in settings.INSTALLED_APPS
}
에서
:
TEMPLATE_CONTEXT_PROCESSORS = (
...
'installed_apps.installed_apps'
)
당신은 장고의 application registry가 사용할 수 있습니다
In [1]: from django.apps import apps
In [2]: apps.is_installed("django.contrib.admin")
Out[2]: True
응용 프로그램이 실제로 점선 파이썬 경로를 사용하여 enabled 될 수 있습니다 그 패키지 또는 응용 프로그램의 구성 클래스 (기본 설정). "app_name"
이 settings.INSTALLED_APPS
에 있는지 단순히 확인하는 것은 후자의 경우 실패합니다.
응용 프로그램 구성 클래스를 사용하여 응용 프로그램을 활성화 한 경우 실패합니다. [응용 프로그램 레지스트리 사용] (http://stackoverflow.com/a/43189917/244297)보다 좋습니다. –