0
매우 명확한 패턴처럼 보이기 때문에 개발자가 DRY를 준수하는 데 도움이됩니다. 예를 들어, 각보기로 전달할 수있는 특정 컨텍스트를 정의하십시오. 내가 아는 한, 이것을 할 방법이 없습니다.메타 : 사용자 정의 클래스 기반보기가없는 이유는 무엇입니까?
매우 명확한 패턴처럼 보이기 때문에 개발자가 DRY를 준수하는 데 도움이됩니다. 예를 들어, 각보기로 전달할 수있는 특정 컨텍스트를 정의하십시오. 내가 아는 한, 이것을 할 방법이 없습니다.메타 : 사용자 정의 클래스 기반보기가없는 이유는 무엇입니까?
문서에 정의 된대로 모든 일반 클래스 기반보기를 확장하고 해당 메서드를 재정의 할 수 있습니다. 예를 들어, 뷰 자체를 정의하는 것 외에 정의 추가 컨텍스트 변수를 원한다면, 단지 get_context_data
방법을 사용하여 추가 또는
class CustomDetailView(DetailView):
model = MyModel
def get_context_data(self, **kwargs):
context = super(CustomDetailView, self).get_context_data(**kwargs)
context.update({
"foo": "bar",
"baz": 999,
})
return context
을, 당신은에 포함된다 특정 믹스 인을 정의 할 수 있습니다 필요에 따라 모든보기.
무엇을 의미합니까? 클래스 기반 뷰 유형이 많습니다. 네가 원하는 걸 할 수있을거야. 자세히 설명해 주시겠습니까? – andrefsp
클래스가 필요한 기능을 "확장"할 수 없습니까? 그렇지 않은 경우 다양한 데코레이터 패턴은 무엇입니까? –
@andrefsp 예를 들어, 모든 템플릿에 대해 특정 방식으로 필터링해야하는 사용자의 개체 목록이 있다고 가정합니다 (템플릿 태그의 작업 일 수 있습니다. 예제로 사용하고 있습니다)), 모든보기에서 정의하고 싶지 않았습니다. 예를 들어 사용자 정의 기본 컨텍스트가있는 'LoggedInView'를 정의하고 다른 컨텍스트 정의로 확장 할 수있는 방법이 없습니까? –