내 Django 앱에는 실제 뷰의 대부분을 상속받은 일련의 일반 뷰 (생성, 업데이트, 삭제, 세부 사항, 목록)가 있습니다. 이러한 모든 뷰는 컨텍스트 (모델의 단수 및 복수 이름, 작성, 나열 등)에 유용한 정보를 추가합니다. 그러나보기가 더 많거나 적게 모두 동일한 코드를 복제합니다. 이런 이유로 나는 이러한 것들을 컨텍스트 프로세서로 옮기고 코드 중복을 제거하고 싶습니다.컨텍스트 프로세서 내에서 모델/클래스 정보 액세스
내 문제는 컨텍스트 프로세서에 전달 된 요청 (예 : 모델 인스턴스, 모델 클래스, 폼 클래스 등을 액세스 할 수있는 경우)에서 필요한 항목을 결정할 수 없다는 것입니다. 이드는 괜찮을 것이다. 아래 코드는 뷰 내에서 get_context_data가 어떻게 보이는지 보여줍니다. 컨텍스트 프로세서에서 어떻게 복제합니까?
감사합니다.
def get_context_data(self, **kwargs):
"""Passes context variables to the HTML templates."""
context = super(CodexAnonDetailView, self).get_context_data(**kwargs)
context['model_name'] = model_ngettext(self.model, 1)
context['model_name_plural'] = model_ngettext(self.model, 2)
context['object_create_url'] = reverse('%s:%s_create' % (resolve(self.request.path).app_name, self.model.__name__))
context['model_list_url'] = reverse('%s:%s_list' % (resolve(self.request.path).app_name, self.model.__name__))