Arquivo da tag: mongodb

Novos rumos: Pyramid

Ontem tive meu primeiro contato real com o Pyramid!

Depois de trabalhar várias vezes com o Django, de conhecer bem ele, suas várias features e tudo mais, acabei precisando de um framework mais flexível para meu projeto que quero desenvolver, e que, não saiu ainda do papel por que em certo ponto do desenvolvimento tudo se tornava massante e trabalhoso.

Mas eu realmente vi uma luz no fim do tunel com o Pyramid. Se mostrou um fw simples, consistente e flexível. Não tive trabalho algum para iniciar um projeto e sair programando algo mais simples, como criar uma outra view além da default, bastou utilizar uma meia-hora e dar uma passada de olho na documentação.

Claro que, eu não fiz nada demais, apenas iniciei o projeto, fiz algumas alterações, tomei conhecimento do ambiente gerado por ele, rodei o ambiente de desenvolvimento, estas coisas. A partir de agora é trabalhar para aprender mais e mais deste frameworks que pelo visto vai me facilitar a vida.

Outra coisa, eu achei muito simples trabalhar com o mongodb juntamente com o Pyramid. Praticamente não necessita de configuração, é só chamar e usar.. hehehe Mas um detalhe que me deixou meio triste foi que não funcionou o projeto com o template para utilizar o Jinja2 como renderer dos templates web. Gosto muito do Jinja2 pelas facilidades, e principalmente pela herança de templates possível, onde você cria uma página com seções definidas e pode criar outras páginas que herdam esta página e imprimem somente nas seções que deseja.. mas o template engine do Pyramid, que veio do Pylons, não é tão mal assim, mas é mais trabalhoso, pois trabalha com umas tags no meio do html, e não me pareceu muito pythônico. Tudo bem !

Bom , é isto por enquanto, depois posto aqui como iniciar um projeto simples com o Pyramid + MongoDB ! Ok !

Abraços !

Flask e MongoDB

Flask webframework

Tenho lido bastante sobre os fw de Python para web e gosto bastante do Django. Porém achei também o FlaskFlask é um microframework web feito em Python. Ele é simples e muito funcional.Com ele conseguimos fazer tudo que precisamos para montar uma ótima aplicação web, de forma ágil. Um ponto interessante é que ele já é integrado com o Jinja2, um ótimo template engine.

Na minha opinião, o Django nos dá um ambiente mais robusto, com muitos controles, e várias integrações já prontas, como banco de dados, template, fluxos, parametrizações, etc e tal.. mas com o Flask conseguimos montar uma app web do jeito que queremos, nos dando mais liberdade para trabalhar, tanto que, o Flask nos dá a possibilidade de instalar várias extensões como flask-csrf, flash-genshi, flash-mail, flash-openid, flask-sqlalchemy e flash-themes por exemplo, fora que podemos criar nossas próprias.

Ele também é compatível com o modelo WSGI, através da toolkit chamada Werkzeug, fazendo que com possamos facilmente utilizá-lo por exemplo através de um Apache, Nginx, e por ai vai…

O Flask está disponível no GitHub, e tem lá uma plicação de exemplo bem interessante: MiniTwit, que é um clone do conhecido Twitter ( http://github.com/mitsuhiko/flask/tree/master/examples/minitwit/ ), que já nos mostra bastante sobre o Flask.

Eu montei uma pequena aplicação de exemplo, utilizando somente o Flask e como banco de dados utilizei o MongoDB, que é um dos mais bem falados banco de dados NoSQL que tenho visto. Segue o link para o Bitckbucket:

Ahh, eu não sei ainda como fazer um clone de uma parte apenas de repositórios Mercurial, então criei um só para esta aplicação de exemplo. E se você souber como fazer isto, pode me ajudar ? Vlw..

hg clone https://berlotto@bitbucket.org/berlotto/flask-mongodb

Para rodar esta aplicação de exemplo, basta baixar o código, e executar o teste.py, mas não esqueça que tem que ter o Flask, MongoDB, pymongo, jinja2 e Werkzeug instalados.