ho per esempio, un JSON FileJinja2 e JSON
{
"Google":{
"Web":"www.web.de",
"Apps":{
"Drive": "DriveLink",
"Dropbox": "DropboxLink"
},
"Google Main":"http://mail.google.com",
"G+":"http://plus.google.com"
},
"Social":{
"Facebook":"http://www.facebook.de",
"G+":"https://plus.google.com",
"Xing":"http://www.xing.de",
"LinkedIn":"http://www.linkedin.com",
"Tumblr":"http://www.tumblr.com"
},
"Fun":{
"Reddit":"http://www.reddit.com"
}
}
Come potete vedere ho sotto la sezione di Google una sezione annidata denominata Apps
Con CherryPy ho la mano su questo JSON oggetto di successivo con il nome linksList:
@cherrypy.expose
def index(self):
linksFile = open('links.json', 'r')
linksList = json.load(linksFile)
template = jinjaEnv.get_template('index.html')
return template.render(linksList=linksList)
Quello che voglio è quello di rendere seguente:
- Google
- Web (come un link)
- Google principali
- G +
- Apps
- Unità
- Dropbox
- sociale
- G +
e così via
Quello che non capisco è da fare è di rendere questo nidificate oggetti come "Apps" ricorsivamente
Ehi Ryon, vi ringrazio molto. Era esattamente quello che stavo cercando. Ciò che è stato di aiuto è stato testare una stringa. Ho provato per un dict a got TemplateAssertionError: nessun test chiamato 'dict'. Perché non puoi testare un ditt o un elenco – lennykey
@lennykey Sembra che Jinja non fornisca un [test integrato] (http://jinja.pocoo.org/docs/templates/#builtin-tests) per dict o list anche se è possibile [creare il proprio] (http://jinja.pocoo.org/docs/api/#writing-tests). –