2009-09-17 5 views
0

내 응용 프로그램에서 주기적으로 cron 및 백그라운드 작업 요청을 보내서 페이지 캐시를 새로 고칩니다. 보기에서 force_refresh kwarg를 보내는 것은 쉽지만 서식 파일에서 액세스중인 메서드에 force_refresh kwarg를 보내는 명백한 방법은 없습니다. 내가 사용하고있는 것들이 많이 있으며,이 모든 메소드를 뷰에서 호출하기가 더 복잡해집니다.django 템플릿 렌더링 메서드 처리 덮어 쓰는 방법

그래서 주어진 응답이 백그라운드 작업 요청에 대한 것이라면 메서드에 액세스 할 때마다 force_refresh kwarg를 전달하기 위해 템플릿 렌더링 메서드를 덮어 쓰려고했습니다.

나는이 메소드를 호출하는 모든 메소드에이 kwarg를 추가하기 위해 예기치 않은 문제가 발생할 수 있다는 것을 알고 있으며, 더 나은 방법에 대한 권장 사항이있는 경우 ArgumentError 블록을 제외하면 try/except ArgumentError 블록이 정확하지 않을 수 있습니다. 이것을 처리하십시오. (바라건대이 메소드들 각각을 뷰에서 접근하는 것 외에!), 그것들을 듣는 것이 유용 할 것입니다.

답변

0

죄송 합니다만, 귀하의 유스 케이스는 뷰 기능을위한 것입니다.

보기 기능에서 모든 데이터를 수집합니다. 여기에서 템플릿에 사용될 최신 데이터의 사전을 만듭니다.

모든 논리가 표시됩니다. 템플릿에는 최소한의 처리 만 있습니다.

+0

지금은 이것을 허용했습니다. 렌더링을 재정의하는 방법을 최소한 가정하고 싶습니다. 나는 또한이 메서드를 뷰에서 호출하기 위해 리팩터링했으며, 내가 전에해야했던 리팩토링을 더 많이 수행하도록했습니다. – jamtoday

+0

@jamtoday : 렌더링을 재정의하지 마십시오. 이것을 유지해야하는 사람은 당신의 비표준 접근법을 결코 알지 못할 것입니다. –

관련 문제