2012-04-17 4 views
0

내 웹 응용 프로그램의 클라이언트로 보내는 AJAX 응답 형식으로 사용되는 JSON 개체를 디자인했습니다. 나는 html 코드를 넣어서 그것을 향상시키는 과정에있다. 그러나 필요한 문자를 이스케이프 처리하는 것은 주제에 대한 정확한 지식과 경험이 부족하기 때문에 다소 불편합니다.문자 이스케이프 : Python 문자열 리터럴에서 JSON, 그리고 나서 HTML로

파이썬/장고를 서버 측 언어/프레임 워크로 사용합니다. 브라우저가 문자 탈출에 내 막연한 지식, 소비하기에 적절한 HTML 노드에 리터럴 파이썬 문자열에서 얻으려면, 내가 탈출 문자의 두 단계를 필요 같아요

  1. JSON으로 문자 파이썬 문자열을 직렬화 및 JSON에서 필요에 따라 문자를 이스케이프 처리합니다.
  2. JSON 객체가 클라이언트 측에서 수신되면 HTML에서 요구하는대로 이스케이프 처리합니다. jQuery를 사용한다는 것에주의하십시오.

위의 두 단계에 대한 내 견해가 맞습니까? 그렇다면 어떻게 할 수 있습니까?

예를 들어 설명하기가 더 쉽다면. 다음 중 하나입니다 :

s = '<a href="http://www.foo.com/bar/">"Click Here&Here"</a>' 

여기에서는 파이썬 문자열 리터럴입니다. 그리고 나는 그것을보고 싶다

<a href="http://www.foo.com/bar/">"Click Here&amp;Here"</a> 

HTML에.

답변

2

클라이언트 측에서 탈출해야합니까? Python으로 인코딩하기 전에 JSON으로 인코딩 할 수 있습니다.

from cgi import escape 
from json import dumps 

ajax_response = dumps(escape('<a href="http://www.example.com/path/location' 
          '?query=string&more=this#anchor">' 
          'FooBar & Friends</a>')) 
+0

이 솔루션은 유망 해 보입니다. 내가 그것을 밖으로 시도하자. 윌 당신이 알려 드리겠습니다. 고맙습니다. – tamakisquare

관련 문제