2014-03-01 3 views
0

PHP ob_start(myCallbackFunction)ob_end_flush()과 같은 결과로 Python 프레임 워크 (Django/others)에서 레이아웃과 뷰를 수정할 수있는 함수가 있습니까? 감사!Python/Django에서 PHP "ob"함수의 동등한 기능

UPDATE가

<?php 
ob_start(function($res){ 
    echo str_replace('test','new string',$res); 
}); 
?> 

test 
test 
test 
test 

<?php ob_end_flush(); ?> 
+1

의도 된 용도로 사용할 수 있습니까? 직접적인 대안을 생각할 수는 없지만 같은 최종 결과를 얻는 더 일반적인 장고 방법이있을 것입니다. – yuvi

+0

또한 'yield'를 사용하여 버퍼를 에뮬레이트 할 수 있습니다. 이것을 참조하십시오 : http://stackoverflow.com/questions/1371020/django-flush-response – yuvi

+0

내 질문이 업데이트되었습니다. 이와 비슷한 것을하고 싶습니다. –

답변

0

당신은 표준 출력을 패치 할 수, 직접 파이썬에서이 결과를 달성하기 위해/표준 에러 여기서 논의 된 바와 같이,

Temporarily Redirect stdout/stderr

장고 템플릿을 위해, 당신은 단지 블록 (또는 별도의 파일)에 전화를 포장하고 필요한 경우이를 포함하는 것입니다.

이 접근법은 매우 파이썬 적이 아니며, 당신이하려는 일에 대해 생각하고 그것을 달성하기위한 더 평범한 방법을 찾아야합니다. 유스 케이스에 대해 조금 더 알려 주시면 더 나은 방법을 제안 할 수 있습니다.

+0

내 PHP 코드에서 모든보기 및 레이아웃은 문자열 (예 :. 웹 포럼의 일부 필터. ob 함수는 어떤 문자열을 대체해야 할지를 제어하는 ​​도우미에게 콜백 할 것이고, 파이썬으로의 이동을 고려하고 있지만이를 달성하는 방법을 모릅니다. –