2

ndb TextProperty에서 가져온 데이터와 함께 webapp2 페이지에 렌더링 된 html을 표시하는 데 도움이 필요합니다. 아래 예에서 삽입했습니다.webapp2 페이지의 ndb.TextProperty에서 html 데이터를 올바르게 표시하는 방법

<b>foo</b> 

dev 서버의 데이터 저장소 뷰어에 가서 값이 저장되었는지 확인합니다. 그러나 Chrome에서 페이지를로드하면 렌더링 된 버전이 아니라 TextProperty에 삽입 된 것과 같이 표시됩니다. Chrome에서 View Source를 실행 한 결과이 코드가 게재 된 것으로 확인되었습니다.

&lt;b&gt;foo&lt;/b&gt; 

어떻게 수정할 수 있습니까?

다음은 세부 정보입니다. 다음과 같이

내 모델입니다 : 내 모델에 HTML 코드의 무리를 삽입 할 수있어

Models.py 
========= 
from google.appengine.ext import ndb 
class MyPosts(ndb.Model): 
slug = ndb.StringProperty(indexed=True) 
content = ndb.TextProperty(indexed=False) 

을 (본체 만 태그에 무엇을 할 것입니다).

여기 내 컨트롤러입니다. 내가 레코드를 다시 가져올 때 쿼리가 제대로 작동합니다. 또한 페이지가 성공적으로로드 될 때 경로에 문제가 없습니다.

Controller.py 
============= 
import os 
from google.appengine.ext.webapp import template 
import webapp2 
from Models import MyPosts 
class ViewMyPost(webapp2.RequestHandler): 
def get(self,title): 
    ds = MyPosts.query(MyPosts.slug == title).fetch(1) 
    content = str(ds[0].content) 
    template_values = { 
     'body': content, 
    } 
    path = os.path.join(os.path.dirname(__file__), 'views/myview.html') 
    self.response.out.write(template.render(path, template_values)) 

여기 내 견해입니다. {{body}}의 값은 컨트롤러에서 제공합니다.

myview.html 
=========== 
<html> 
<head> 
    <title>My Page</title> 
</head> 
<body> 
    {{ body }} 
</body> 
</html> 

데이터 삽입 : 내 TextProperty에 대해 다음 값으로 레코드를 삽입하는 간단한 루틴을 만들 을

<b>foo</b> 

예상 결과 : 내가 foo는를 표시하는 페이지를 기대하고있어, {{body}}를 TextProperty 필드 값으로 직접 대체하는 것입니다.

실제 결과 : 대체 텍스트는 쿼리 한 전체 TextProperty 값을 되돌려 보냅니다. 그러나 어떻게 든 태그를 다음과 같이 변환합니다.

&lt;b&gt;foo&lt;/b&gt; 

무엇이 여기에 있습니까? 미리 감사드립니다!

+0

그것은 간단한 수정했습니다에 대한 문서입니다. 보기에서 "안전"필터를 추가했습니다. {{body}} 대신 {{body | safe}}처럼 보입니다. myview.HTML =========== 마이 페이지 {{몸 |} 안전은} 여기 는 안전 필터 HTTPS에 대한 문서입니다 : //docs.djangoproject.com/ko/dev/ref/templates/builtins/?from=olddocs#safe – user2609060

+1

해결책을 찾았습니까? 어쩌면 자신의 질문에 대답하고 답을 승인하여 답이없는 범주에 나타나지 않을 수도 있습니다. – dlebech

+0

[webapp2는 HTML 태그를 순수 텍스트로 바꿀 수 있습니다] (http://stackoverflow.com/questions/16374332/webapp2-changes-html-tags-in-pure-text) –

답변