2013-07-10 4 views
0

MongoDB 컬렉션에 값 목록을 저장하는 데 사용하는 'affected'필드가 있습니다. 다음과 같습니다 jinja2 템플릿에 MongoDB 목록을 인쇄하려면 어떻게해야합니까?

{ 
    "_id" : ObjectId("51dc89712ef6af45b0a5f286"), 
    "affects" : [ 
     "GS", 
     "WEB", 
     "DB", 
     "CB", 
     "ALL", 
     "OTHER" 
    ], 
} 

내가 이렇게 템플릿 (HTML 페이지)에

:

당신의 필드는 하나 개의 값을 가질 때 이것은 예를 들어 _id를 들어, 완벽하게 작동
{% for change in changes %} 
{{ change._id }} 
{{ change.affects }} 
{% endfor %} 

것이 같은 출력을 내 HTML 페이지 :

51dc89712ef6af45b0a5f286 

하지만 여러 값을 거기에, 출력은 다음과 같이 나온다 :

[u'GS', u'WEB', u'DB', u'CB', u'ALL', u'OTHER'] 

jinja2에서 값 목록을 반복하여 대괄호, 따옴표 및 U없이 출력 할 수 있습니까?

감사합니다.

당신은 아마 신사의 중첩 루프를 필요로

답변

3

이 시도 :

{% for change in changes %} 
    {{ change._id }} 
    {% for affect in change.affects %} 
     {{ affect }} 
    {% endfor %} 
{% endfor %} 
+0

아, 나는 그런 식으로 시도했지만 잘못된 구문이 있습니다. 그것은 당신과 함께 작동합니다. 고맙습니다. – admiralobvious

1

나는 비슷한, 내 수정 ... 플라스크 app.py에 문제가 있었다

@app.route('/mongo', methods=['GET', 'POST']) 
def mongo(): 

    # connect to database 
    db = client.blog 

    # specify the collections name 
    posts = db.posts 

    # convert the mongodb object to a list 
    data = list(posts.find()) 

    return render_template('mongo_index.html', blog_info=data) 

그런 다음 진자 템플릿은 다음과 같이 보일 수 있습니다 ... mongo_index.hmtl

{% for i in blog_info %} 
    {{ i['url'] }} 
    {{ i['post'] }} 
{% endfor %} 

초기 목적은

[{u'category': u'python', u'status': u'published', u'title': u'working with python', u'url': u'working-with-python', u'date': u'April 2012', u'post': u'some blog post...', u'_id': ObjectId('553b719efec0c5546ed01dab')}] 

그것은 내가 그것을 목록과 같은 경우, 실제로는 하나입니다 의미하지 않는다 추측 알아낼 걸 렸어요 ...이 같은 MongoDB를보고 뭔가에서 돌아왔다. :)

관련 문제