2017-05-20 5 views
-1

Helo. 한 사용자의 모든 댓글과 댓글이 속한 주제를 나열하려고하는데 comment_list.html에 이중 값이 표시됩니다. 나는 그것을 올바르게 중첩시키지 않을 것이라고 생각한다.이중 결과를 표시하지 않고 jinja2, python 2.7에서 중첩 for 루프를 만드는 방법

내 파이썬 hadler 다음입니다 :

class CommentsListHandler(BaseHandler): 
def get(self): 
    user = users.get_current_user() 
    comments = Comment.query(Comment.deleted==False, Comment.author_email==user.email()).fetch() 
    topics = Topic.query(Topic.deleted==False).fetch() 
    params = {"comments": comments, "topics": topics} 
    return self.render_template("comments_list.html", params=params) 

내 jinja2는 다음입니다 :

{% for comment in comments|sort(attribute='created') %} 
 
    {% for topic in topics %} 
 
<div class="panel panel-warning"> 
 
     <div class="panel-heading">{{ comment.author_email }} on {{ comment.created.strftime("%d.%m.%Y at %H:%M") }} 
 
      in topic: <a href="/topic-details/{{topic.key.id()}}"> {{ topic.title }} </a></div> 
 
     <div class="panel-body"> 
 
      <p>{{ comment.content }}</p> 
 
     </div> 
 
</div> 
 

 
    {% endfor %} 
 
{% endfor %}

내가 정말 당신의 도움을 주셔서 감사합니다. 미리 감사드립니다.

BRG

+0

당신이 당신의 실제 출력이 예상되는 HTML을 함께하고 싶은 어떤 대 모양을 추가 할 수 샘플 사용자, 의견 및 주제가 있습니까? – alpeware

답변

0

나는 그것을 해결하기 위해 관리해야 :

{% for comment in comments|sort(attribute='created') %} 
 
    {% for topic in topics %} 
 
     {% if topic.key.id() == comment.topic_id %} 
 
<div class="panel panel-warning"> 
 
     <div class="panel-heading">{{ comment.author_email }} on {{ comment.created.strftime("%d.%m.%Y at %H:%M") }} 
 
      in topic: <a href="/topic-details/{{topic.key.id()}}"> {{ topic.title }} </a></div> 
 
     <div class="panel-body"> 
 
      <p>{{ comment.content }}</p> 
 
     </div> 
 
</div> 
 
     {% endif %} 
 
    {% endfor %} 
 
{% endfor %}