Pergunta

Eu usei linhas.xml () para gerar saída HTML. Quero saber como adicionar códigos HTML a esta página HTML gerada, por exemplo: "Adicionar logotipo, vincular o arquivo css, .. 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()

Foi útil?

Solução

Existem muitos ajudantes HTML que você pode usar, por exemplo:

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)))

e assim por diante.

Você pode até criar uma tabela inteira automaticamente:

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

e depois escolha -o para inserir links ou modificar seus elementos.

É muito poderoso e, normalmente, você não precisa se preocupar em escrever o HTML real. Aqui está a folha de trapaceiros, ou você pode verificar diretamente no Documentação do site.


EDIT: Apenas para ter certeza de que você realmente não precisa gerar toda a página HTML, é mais fácil deixar o web2py inserir sua resposta em um modelo com o mesmo nome que seu controlador (ou forçar um modelo específico com response.view = 'template.html'. O tutorial de documentação explicará que melhor e em mais detalhes.

Em poucas palavras, se você estiver implementando a função index, você pode retornar uma string (a página inteira HTML, que parece ser o que você está indo) ou um dicionário para usar modelos.

No primeiro caso, basta codificar sua função como esta:

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

Caso contrário, escreva um modelo HTML em visualizações/controlador/index.html (ou outro arquivo se você inserir o response.view=... em sua função, para reutilizar o mesmo modelo), que pode ser assim:

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

e devolver um dicionário:

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

Outras dicas

Basta prendê -lo/anexá -lo à string que rows.xml() Retornos:

html = '<html><head>...</head><body>' + rows.xml() + '</body></html>'
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top