Question

i utilisé rows.xml () pour générer une sortie html. Je veux savoir comment ajouter des codes html à cette page html générée par exemple: "ajouter le logo, le fichier css lien, etc .."

rows=db(db.member.membership_id==request.args[0]).select(db.member.membership_id ,db.member.first_name,db.member.middle_name ,db.member.last_name) return rows.xml()

Était-ce utile?

La solution

Il y a beaucoup d'aides HTML que vous pouvez utiliser, par exemple:

html_code = A('<click>', rows.xml(), _href='http://mylink')
html_code = B('Results:', rows.xml(), _class='results', _id=1)
html_page = HTML(BODY(B('Results:', rows.xml(), _class='results', _id=1)))

et ainsi de suite.

Vous pouvez même créer automatiquement une table entière:

table = SQLTABLE(rows, orderby=True, _width="100%")

et puis le prendre à part pour insérer des liens ou modifier ses éléments.

Il est très puissant et, normalement, vous ne devez pas la peine d'écrire le code HTML réel vous-même. Voici antisèche, ou vous pouvez vérifier directement sur la page documentation du site .


Edit: Juste pour vous assurer, vous n'avez pas réellement besoin pour générer toute la page HTML, il est plus facile de laisser web2py insérer votre réponse dans un modèle qui a le même nom que votre contrôleur (ou force un modèle particulier response.view = 'template.html'. Le didacticiel de documentation expliquera que mieux et plus en détail.

En quelques mots, si vous implémentez la fonction index, vous pouvez soit retourner une chaîne (toute page HTML, ce qui semble être ce que vous dirigez pour), ou un dictionnaire à utiliser des modèles.

Dans le premier cas, le code que votre fonction comme ceci:

def index():
    # ... code to extract the rows
    return HTML(BODY(B('Results:', rows.xml(), _class='results', _id=1))).xml()

Dans le cas contraire, écrire un modèle html dans les vues / contrôleur /index.html (ou un autre fichier si vous insérez le response.view=... dans votre fonction, de réutiliser le même modèle), ce qui pourrait ressembler ceci:

<html><head></head>
  <body>
    {{=message}}
  </body>
</html>

et retourner un dictionnaire:

def index():
    # ... code to extract the rows
    html = B('Results:', rows.xml(), _class='results', _id=1)
    return dict(message=html)

Autres conseils

Juste précédez / ajouter à la chaîne rows.xml() retours:

html = '<html><head>...</head><body>' + rows.xml() + '</body></html>'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top