aba*_*gat 1 python django google-app-engine django-templates
我正在使用Django模板在Google AppEngine上开发一个项目,所以我必须使用标签{{ aitem.Author }}来打印我的HTML模板中的内容.
Author但是,可以是字符串或列表对象,我无法事先告诉它.当作者是一个列表并且我尝试在我的模板上打印它时,我得到了丑陋的结果
作者:[u'JK罗琳',u'Mary GrandPr\xe9']
有没有办法处理这种情况(基本上根据其类型打印一个字段)?我是否必须依赖自定义标签或任何其他方式?
我认为最干净的解决方案是向模型添加一个方法,该方法get_authors()总是返回一个或多个作者的列表.然后你可以使用:
Author: {{ aitem.get_authors|join:", " }}
Run Code Online (Sandbox Code Playgroud)
如果由于某种原因你只能访问模板并且无法更改模型,那么你可以使用这样的hack:
{% if "[" == aitem.Author|pprint|slice:":1" %}
Author: {{ aitem.Author|join:", " }}
{% else %}
Author: {{ aitem.Author }}
{% endif %}
Run Code Online (Sandbox Code Playgroud)
PS对于属性名称使用大写字母不是一个好习惯.
| 归档时间: |
|
| 查看次数: |
629 次 |
| 最近记录: |