2009-11-08 6 views
1

파이썬 변수에 저장된 문자열이 있습니다. 자바 스크립트가 들어있는 html을 출력하고 있습니다. 자바 스크립트 변수를 만들어야합니다. 내가 HTML을 생성하는 치타를 사용 파이썬에서 자바 스크립트 문자열을 생성합니다.

title = "What's your name?" 

파이썬

의 예에 대한

. 치타 코드 : 올바른 자바 스크립트 변수가 생성되도록

var title = '$title'; 

어떻게 내가 올바르게 탈출합니까? 필요 실제 HTML 출력 :

var title = 'What\'s your name?'; 

답변

4

당신은 아마 JSON 원하는 :

import simplejson as sj 
print sj.dumps('What\'s your name?') # => '"What\'s your name?"' 

치타와 JS를 생성하지 않습니다, 도서관이있다.

+0

위대한 작품! 고마워, 내가 사용할 수있는 라이브러리가 무엇인지 말할 수 있니? – kevin

+0

THC4k 감사합니다.이 시도했을 때 올바르게 출력 파이썬 작동합니다. 그러나 Cheetah의 실제 html 출력에는 이스케이프 문자가 없습니다. 무슨 일이 일어나고 있는지 아십니까? – kevin

+0

신뢰할 수없는 입력을 피하기에 충분하지 않습니다. 예 : "str"=> "str"은 기존 JS를 손상시킵니다! –

-2

title 값이 Cheetah에 도달하기 전에 title = title.replace("'", "\\'")을 Python으로 수행하거나 Cheetah에 사용자 정의 필터를 추가하여 목적으로 템플릿에서 호출하십시오. Python 측에서이 작업을 수행하는 것이 더 간단 해 보입니다.

관련 문제