def() com 2 returns em flask

38 views
Skip to first unread message

Marcelo Augusto

unread,
Aug 23, 2017, 8:48:26 PM8/23/17
to Python Brasil
saudações colegas

tenho uma def() dentro de uma route que devolve um retorno assim: 


return render_template("altera_cliente.html", cliente=cliente)


mas preciso que retorne assim se for o cadastro de pedido

return render_template("pedido_cliente.html", cliente=cliente)


no primeiro retorno quero so editar o registro do cliente

no segundo quero atribuir o codigo para gerar um pedido.

tem como mudar o retorno da def de acordo com a necessidade, para nao duplicar o mesmo template?

obrigado.


 



Junior Tada

unread,
Aug 23, 2017, 9:14:58 PM8/23/17
to Python Brasil
Não entendi sua pergunta direito, vc queria algo assim?

if: cadastro_de_pedido:

      return render_template("pedido_cliente.html", cliente=cliente
)
else:
   return render_template("altera_cliente.html", cliente=cliente) 

Se for isso mesmo é só fazer isso.

Marcelo Augusto

unread,
Aug 24, 2017, 7:55:25 PM8/24/17
to Python Brasil
talvez não tenha explicado direito:

tenho um template que simplesmente lista os clientes na tela.

ja uso ele para escolher um cliente na lista e editar as informações e depois salvar tudo.

agora estou montando uma tela de pedidos então pretendo usar esse mesmo template só que agora para pegar o nome do cliente e montar o pedido.

a minha ideia e não ter que fazer mais um template e sim aproveitar esse template html que ja existe.

obrigado , junior 
Message has been deleted

Marcelo Augusto

unread,
Aug 24, 2017, 9:09:36 PM8/24/17
to Python Brasil
segue diagrama para ajudar 

segue diagrama talvez ajude

Thiago Oliveira

unread,
Aug 25, 2017, 7:31:39 AM8/25/17
to Python Brasil
Não se isso mas vc pode refatorar o template em pedaços pequenos , as partes que quer reaproveitar , aí vc pode por via include do django ou usando response_to_string para colocar via js
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
--
Obrigado.
Thiago Oliveira Vicente 
cel: 11-97051-3508

Bruno Rocha

unread,
Aug 25, 2017, 10:44:54 AM8/25/17
to python...@googlegroups.com
De acordo com o diagrama vc pode ter 2 views renderizando o mesmo template se o que vc quer é apenas aproveitar os templates.

Mas me parece que o ideal seria vc ter um `base.html` com os blocks definidos e então nos outros reutilizar os blocos e as partes comum usar macros.

Veja este exemplo do meu workshop de Flask, neste exemplo tenho macros e herança de templates https://www.dropbox.com/s/lphdarpee5u7o07/Why%20Rust.pdf?dl=0

--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:


---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.



--
 
Bruno Rocha

Bruno Rocha

unread,
Aug 25, 2017, 10:45:19 AM8/25/17
to python...@googlegroups.com
Foi mal.. colei o link errado.. segue o link correto:  https://github.com/cursodepythonoficial/flask_workshop/tree/master/pt11

Marcelo Augusto

unread,
Aug 28, 2017, 10:06:08 PM8/28/17
to Python Brasil
Ok Bruno, obrigado vou olhar o codigo.

abraços

marcelo


Em sexta-feira, 25 de agosto de 2017 11:45:19 UTC-3, rochacbruno escreveu:
Foi mal.. colei o link errado.. segue o link correto:  https://github.com/cursodepythonoficial/flask_workshop/tree/master/pt11
Em 25 de agosto de 2017 11:43, Bruno Rocha <rocha...@gmail.com> escreveu:
De acordo com o diagrama vc pode ter 2 views renderizando o mesmo template se o que vc quer é apenas aproveitar os templates.

Mas me parece que o ideal seria vc ter um `base.html` com os blocks definidos e então nos outros reutilizar os blocos e as partes comum usar macros.

Veja este exemplo do meu workshop de Flask, neste exemplo tenho macros e herança de templates https://www.dropbox.com/s/lphdarpee5u7o07/Why%20Rust.pdf?dl=0
Em 24 de agosto de 2017 22:09, Marcelo Augusto <marau...@gmail.com> escreveu:
segue diagrama para ajudar 

segue diagrama talvez ajude

--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:


---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.
--
 
Bruno Rocha
Reply all
Reply to author
Forward
0 new messages