zodb와 cherrypy를 사용하고 있습니다. 나는 jinja2 템플릿에 데이터를 전달하고있다. 템플릿 렌더링을 반환하기 전에 내 zodb 연결을 닫고 싶습니다.cherrypy에서 데이터베이스와의 표준 연결을 끊는 방법은 무엇입니까?
데이터가 zodb 데이터이기 때문에 템플릿을 렌더링 할 때 연결이 필요하기 때문에 데이터를 렌더링 할 수 없습니다. 이미 반환 끝났어 후
이 오류를 ...
zconn.close() #zconn.close closes the conn,db, and storage
return template.render(args....)
은 어떻게 ZODB의 CONN를 폐쇄합니까? "요청 전"과 "요청 후"함수가 있습니까? 항상 db 연결을 정의 할 수 있습니까? 체리 피 문서는 "노출 된 함수의 시작 부분에 명시 적으로 수행하고 반환하기 전에 닫습니다"라는 점을 제외하고는 데이터베이스 연결에 대한 명시적인 내용이 없습니다.
아니면 말을하는 표준 방법입니다 ...
page = template.render(args...)
zconn.close()
return page
@MKaras : 확실하지만 먼저 연결을 열고 각 메소드에서 컨텍스트 관리자로'with (zconn) :'을 사용해야합니다. –