Postagens

Mostrando postagens de junho, 2020

Configurar o web2py no Apache e Ubuntu LTS

Para todo desenvolvedor o maior desafio não é produzir código e sim colocar sua aplicação para rodar de fato de verdade, por isso é essencial conhecer todos os passos para fazer o deploy de sua aplicação em ambientes de produção. Este artigo será composto por este principal e outros dois explicando a teoria envolvendo o processo. Neste artigo explicaremos em forma de tutorial como fazer o deploy de uma aplicação web2py tem um servidor Apache usando virtual hosts. Antes de prosseguirmos é importante fazer algumas considerações. 1- O web2py é um framework baseado no padrão WSGI (Web Server Gateway interactive), um avanço no antigo CGI, portanto vamos precisar de um arquivo intermediário entre o módulo wsgi do apache e o framework, chamado de handler. 2- O Apache ainda é o servidor WEB mais utilizado no mercado por tanto há vasta documentação espalhada por aí, logo não será muito difícil dar manutenção nele. 3- O Ubuntu também é a distro linux mais usada no mundo desktop portanto não tere

Solucionando o problema com 'Column table.id not found (SQLTABLE)'

O novo PY4WEB esta aí, e como é um framework diferente do web2py, é possível ser instalado através do pip. O problema não é ser instalado pelo pip e sim os módulos que são os mesmos do web2py. Um deles é o pydal, o pydal é nada mais nada menos que a DAL do web2py, sendo o DAL uma abstração do pydal. Ao instalarmos o py4web no mesmo virtualenv que roda o web2py o pydal acaba conflitando com o DAL gerando aquele erro. Então o que fazer para resolver? Simples, crie um virtualenv separado para o web2py. Exemplo: $ virtualenv -p path_python venvW2P $ virtualenv -p path_python venvP4W Esses dois comandos criarão ambientes separados para cada frame. O que se deve fazer agora é apontar o venvW2P para o web2py ou trocar o caminho do interpretador python do arquivo web2py.py. Assim: #!/usr/bin/env python  por: #!path_to_venvW2P Pronto! Resolvido o problema. Referencias: https://groups.google.com/forum/#!searchin/web2py/Column$20auth_user.id$20not$20found$20(SQLTABLE)%7Csort:date/web2py/oriec4bEA

Guia de estilos para Python

Bom galera, esse artigo vai ser curto, mas como muitos programadores quem começam no web2py vem de outras linguagens, eles trazem junto os vícios dessas linguagens. Não que seja errado a forma de programar mas cada uma delas estabelece um padrão para facilitar a legibilidade do código. E no python não é diferente. Python foi feito para humanos, então subentende-se que humanos podem ser experts ou não. Imagine você lendo um artigo no jornal escrito da seguinte maneira. CasaBrancaArdeEmChamas Hoje,na   CasaBranca ocorreram         inumeros atentados O presidente,DonaldTrump                 convocou a GuardaNacional Repare que o artigo desrespeita completamente a sintaxe do português e de regras de boa escrita. Imagine se cada um escrevesse código como bem entende. Como python é uma linguagem flexível para solucionar esse problema foi desenvolvido a pep8 ->  https://wiki.python.org.br/GuiaDeEstilo . A pep8 é um guia de estilos para python que visa padronizar o código escrito em python,

Using multiple web2py templates

Okay, today we are going to talk about templates and multiple views on web2py. This tip will be valid for you who want dynamic templates in your app, where you can easily change it whenever you want, passing parameters in the appconfig or something like that. The idea is very basic, you have a repository of templates inside views where you will put your layouts inside, for example temp01, temp02 ... We will also take the opportunity to learn a little more about the web2py (W2P) template engine (TE) called yatl in the new py4web. Come on... The W2P TE allows us to inherit views and inclusions through the reserved words extend and include respectively. But if they are reserved words, aren't they python code? Exactly, extend and include and also block are not python code, so they are executed before any python code in our view. That is, the code below will never work. {{if condition:}} {{extend 'temp01.html'}} {{else:}} {{extend 'temp02.html}} Not even that. {{from gluon.c

Usando multiplos templates web2py

Muito bem, hoje vamos falar sobre templates e múltiplas visões no web2py. Essa dica irá valer para você que quer templates dinâmicos em seu app, onde você possa alterar facilmente quando quiser, passando um parâmetros no appconfig ou coisa do tipo. A ideia é bem básica, você tem um repositório de templates dentro de views onde você colocará seus layouts dentro, por exemplo temp01, temp02... Vamos aproveitar também para aprender mais um pouco sobre a template engine (TE) do web2py (W2P) chamada de yatl no novo py4web. Vamos lá... O TE do W2P nos permite fazer heranças de visões e inclusões através das palavras reservadas extend e include respectivamente.  Mas se elas são palavras reservadas não são código python? Exatamente, extend e include e também o block não são código python, por isso elas são executadas antes de qualquer código python na nossa view. Ou seja, o código abaixo nunca irá funcionar. {{if condicao:}} {{extend 'temp01.html'}} {{else:}} {{extend 'temp02.html}}