簡體   English   中英

如何將Mongo Cursor對象傳遞給Jinja模板?

[英]How to pass a Mongo Cursor object to a Jinja template?

我有一個Mongo數據庫,我想制作一個執行查詢並將結果傳遞到html文件的腳本。

該呈現的html文件將用作我將發送給同事的電子郵件的html正文。

但是模板沒有渲染,這就是我得到的

我的html看起來像這樣:

     <table>
        { %for q in query %}
            <tr>
                <td>{{ q['containers'] }} </td>
                <td>{{ q['cases'] }} </td>
                <td>{{ q['gross_weight'] }} </td>
                <td>{{ q['volume'] }} </td>
            </tr>
        { %endfor% }
    </table>

雖然我的腳本如下所示:

from pymongo import MongoClient, ASCENDING
from jinja2 import Template

def main():

    client = MongoClient()
    collection = client.supplyChain['commonRegimes']

    parameters = {
        'delivery_to_warehouse':None,
        'regime':{'$in':['10', '91']}
    }

    query_result = collection.find(parameters).sort('eta_warehouse', ASCENDING)

    templatefile = open('D:/myScripts/ccreport/reports/templates/nextArrivals.html').read()

    template = Template(templatefile)

    message  = template.render(query = query_result)


if __name__ == '__main__':
    main()

我得到錯誤:

jinja2.exceptions.UndefinedError: 'q' is undefined

我將不勝感激任何幫助。

好的,我意識到這是for語句中的語法錯誤,應該是:

{% for q in query %}

{% endfor %}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM