kha*_*any 2 python google-app-engine jinja2
我创建一个像这样的实体:
company = dbDatafile(usOwner = user)
company.name = self.request.get("name")
company.put()
Run Code Online (Sandbox Code Playgroud)
其中user是Google用户帐户.现在当我尝试搜索该用户时:
datafiles = dbDatafile.gql("WHERE usOwner = '%s'" % user.user_id())
Run Code Online (Sandbox Code Playgroud)
分配给jinja2模板var:
template_values = {
'datafiles': datafiles
}
Run Code Online (Sandbox Code Playgroud)
并输出到html:
{% for datafile in datafiles %}
>>>{{ datafile.name }} chevrons to indicate any looping
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我没有输出.
数据存在于管理仪表板中,但我无法访问它.有任何想法吗?
谢谢
如果usOwner
是UserProperty,则需要USER()
在GQL中使用:
datafiles = dbDatafile.gql("WHERE usOwner = USER(:1)", user.email())
Run Code Online (Sandbox Code Playgroud)
还记得总是使用占位符,而不是字符串插值 - 只是因为它不是SQL,并不意味着它不易受注入攻击.