我使用的是googleappengine(当然是python:),我想做一个字符串。替换来自模板文件的字符串。在
{% for item in items %} <p>{{ item.code.replace( '_', ' ' ) }}</p> {% endfor %}
但那没用。因此,除了在app engine模板中执行基本检查之外,我们无法执行任何操作。对吗?在
另一个相关的问题是我试图缩短一个字符串并使其对模板可用。在
每个家具对象都有一个名称和一个较长的描述字段。在我渲染的这个视图中,我只需要description字段的前50个字符。在
所以我试过
^{pr2}$模板去了
{% for item in items %} <p>{{ item.name }}</p> <p>{{ item.shortdescr }}</p> <!-- items.shortdescr does not exist here, probably because I did not .put() it previously. --> {% endfor %}
因为这不起作用,所以我尝试更改Gql查询来缩短字符串。但我很快意识到Gql不像SQL。我试着写像
select name,LEFT( description, 50 ) from furniture
几乎没有成功
我对googleappengine没有什么经验,但据我所知,它与Django的关系非常密切。您的模板实际上并不包含Python代码,即使您在其中使用的一些结构看起来像它。在
你的两个问题都应该用模板过滤器来解决。如果是Django,我会用这样的方式回答你的第二个问题:
对于第一个问题(字符串替换),可能没有内置筛选器可用于该问题。你需要自己写。像这样的东西
^{pr2}$然后,在模板中,可以执行以下操作:
^{3}$除了在代码中使用无参数的
.fetch()
调用,我认为这不可能工作(您总是必须传递一个参数fetch
一个参数,即您愿意获取的最大实体数!),我无法重现您的问题,为每个项目分配一个新属性(包括通过处理现有属性获得的属性)在我的测试中运行良好。在你能用尽可能小的罗盘重现你观察到的问题,并编辑你的问题,包括所有相关文件吗?看来这是我们唯一能帮你解决这个奇怪的虫子的方法!在
顺便说一句,}只获取实体的键;select中没有列的选择性,更不用说对它们进行任何操作了!-)在
select name,LEFT( description, 50 )
或其他任何东西在GQL GQL中当然不起作用,非常明确地说,只支持select *
来获取整个实体,或者{相关问题 更多 >
编程相关推荐