将namedtuple属性从集合传递到html文件(Python / MongoDB)

时间:2017-01-02 16:07:32

标签: python mongodb cherrypy

此index.html视图:

<head>
<title> {results.email}</title>
</head>
<body>
<h1> {results.company.name} <h1>
</body>              

我有我在MongoDB中输入的以下集合(带有嵌入属性):

@cherrypy.expose
def create(self)
client = MongoClient()
db = client.database_name        
result = db.users.insert_one({
    "email": "email@email.com",
    "company": {
        "name": "ABC Company"
    }
})

之后我使用namedtuple内置函数存储了这些值:

from collections import namedtuple
client = MongoClient()
db = client.database1        
cursor = db.users.find({"company.name":"ABC Company"})
company = namedtuple('company ', 'name') 
document = namedtuple('document ', 'email, company')
for row in cursor:
result = document(row["email"], company(row["company"]["name"]))

我现在想将这些字段传递给我的html索引视图文件,该文件遵循我使用namedtuple函数创建的点符号:

    template = open("index.html").read()
    return template.format(**????**)

如何在format()函数中传递变量?

评论:我使用的是Python 2.7版本和MongoDB。我使用cherryPy作为HTTP服务器。我既不使用ORM也不使用模板引擎。

1 个答案:

答案 0 :(得分:0)

我已将它传递给视图,就像一个对象:

return template.format(result=result)