J'utilise google appengine (python, bien sûr :)) et je voudrais faire un string.replace sur une chaîne à partir du fichier modèle.Google appengine remplacement de la chaîne dans le fichier modèle
{% for item in items %} <p>{{ item.code.replace('_', ' ') }}</p> {% endfor %}
Mais cela ne fonctionne pas. Donc nous ne pouvons pas exécuter autre chose que des contrôles de base dans les modèles de moteur d'application. Est-ce exact ?
Un autre problème connexe est que j'essaie de raccourcir une chaîne et de la rendre disponible au modèle.
Chaque objet mobilier a un nom et un champ description plus long. Dans cette vue, je suis rendu, je veux seulement les 50 premiers caractères du champ description.
J'ai donc essayé quelque chose comme
items = db.GqlQuery('select * from furniture') # edit: if you change the above line to # items = db.GqlQuery('select * from furniture').fetch(1000) # the .fetch() command makes the addition of dynamic properties work! for item in items : item.shortdescr = item.description[ 0:50 ] # pass data off to template for rendering self.response.out.write( template.render('furnitureAll.html', { 'items' : items }) )
modèle va
{% 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 %}
Depuis cela ne fonctionne pas, je l'ai essayé de changer gql requête pour raccourcir la chaîne à la place. Mais je réalise rapidement que Gql n'est pas comme SQL. Je suis en train d'écrire des requêtes telles que
select name,LEFT(description, 50) from furniture
Avec peu de succès
Merci mec. ftr il semble qu'il devrait y avoir un deux-points entre truncatewords: arg ie. comme truncatewords: 10. – bobobobo
Vous avez absolument raison - je l'ai édité pour résoudre ce problème –