cra*_*ice 2 python google-app-engine jinja2
我有这两个班:
class Person(db.Model):
person_name = db.StringProperty(required = True)
#gender = db.StringProperty(required = True)
nacionality = db.StringProperty(required = True)
marital_status = db.StringProperty(required = True)
profession = db.StringProperty(required = True)
SSN = db.IntegerProperty(required = True)
driver_license = db.IntegerProperty(required = True)
address = db.PostalAddressProperty(required = True)
class ContractingParty(db.Model):
person = db.ReferenceProperty(Person, required=True, collection_name="party_to_contracts")
contract = db.ReferenceProperty(Contract, required=True)
condition = db.StringProperty()
Run Code Online (Sandbox Code Playgroud)
我想将ContractingParty实体的查询传递给我的jinja2模板.然后使用a for loop,我想从Person实体获取我真正想要的数据.缔约方查询正在传递给jinja2(如果我测试它,我可以看到这样的东西:)[<main.ContractingParty object at 0x0492D770>].但是for loop波纹管没有工作,没有信息for loop显示在我的布朗瑟中.我该怎么办呢?
{% for party in parties %}
<li> {{party.person.person_name}} </li>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
好像你在for循环结构中犯了一个错误,必须省略冒号字符:
{% for party in parties %}
Run Code Online (Sandbox Code Playgroud)
必须更改整个代码以实际呈现传递给模板的对象.你不能在这里执行Python代码,你必须遵守Jinja2语法:
{% for party in parties %}
<li>{{ party.person.profession}}</li>
...
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
如果你想做一些任务,请使用设置 Jinja的标签:
{% set person = party.person %}
Run Code Online (Sandbox Code Playgroud)
我希望你有这个想法,这里有一个更加澄清的链接
| 归档时间: |
|
| 查看次数: |
1085 次 |
| 最近记录: |