[PYTHON] 어떻게 장고에서 파이썬을 사용하여 응용 프로그램 이름을 얻는 지
PYTHON어떻게 장고에서 파이썬을 사용하여 응용 프로그램 이름을 얻는 지
보기에 있고 Python을 사용하여 응용 프로그램 이름을 검색하려는 경우 (추가 논리에 응용 프로그램 이름이 사용됩니다) 어떻게 할 것입니까?
해결법
-
==============================
1.할 수있는 일 :
할 수있는 일 :
from django.core.urlresolvers import resolve .... resolve(request.path).app_name
Django에서 현재 응용 프로그램을 얻는 방법과 resolve ()를 참조하십시오.
편집 : 이제 두 번째 시간을 피하기 위해 request.resolver_match.app_name을 사용하여 가져 오기를 피할 수 있습니다. 다음과 같이하십시오.
request.resolver_match.app_name
-
==============================
2.그것을하는 또 다른 방법은 현재 객체를 얻거나 자기를 사용하는 것입니다. 노호를 보아라.
그것을하는 또 다른 방법은 현재 객체를 얻거나 자기를 사용하는 것입니다. 노호를 보아라.
obj.__module__.split('.')
그러면 객체 이름이 '.'로 분리 된 목록이 반환됩니다.
-
==============================
3.어쩌면이게 너를 도울 수있어.
어쩌면이게 너를 도울 수있어.
from django.core import urlresolvers from django.contrib.contenttypes.models import ContentType content_type = ContentType.objects.get_for_model(self.__class__) url = urlresolvers.reverse("admin:%s_%s_change" % (content_type.app_label, content_type.model), args=(self.id,))
url이 모든 주소를 반환하며 앱 및 모델을 위해 구문 분석 할 수 있습니다.
-
==============================
4.모델 이름 : Book._meta.app_label에서 응용 프로그램 이름을 가져올 수 있습니다.
모델 이름 : Book._meta.app_label에서 응용 프로그램 이름을 가져올 수 있습니다.
나는 django / contrib / admin / widgets.py에서 찾았습니다.
class RelatedFieldWidgetWrapper(forms.Widget): ... def get_context(self, name, value, attrs): from django.contrib.admin.views.main import IS_POPUP_VAR, TO_FIELD_VAR rel_opts = self.rel.model._meta info = (rel_opts.app_label, rel_opts.model_name) ... ...
-
==============================
5.
__package__
또는
__package__.rsplit('.', 1)[-1]
가장 쉬운 방법이어야합니다. 두 번째는 a.b.c를 c로 변환합니다.
from https://stackoverflow.com/questions/6000205/how-to-get-an-app-name-using-python-in-django by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] AttributeError : 'str'객체에 'append'속성이 없습니다. (0) | 2018.11.24 |
---|---|
[PYTHON] 큰 텍스트 파일에서 두 개의 고유 한 단어 사이에서 정보를 추출하는 방법 (0) | 2018.11.24 |
[PYTHON] 모든 문자열이나 정규 표현식이 파일에 존재하는지 확인 (0) | 2018.11.24 |
[PYTHON] h5py로 점진적으로 hdf5에 씁니다. (0) | 2018.11.24 |
[PYTHON] Django 템플릿에서 키로 사전 접근하기 (0) | 2018.11.24 |