Desenvolvimento

Ξ 2 comentários

Destrinchando o Django – Startproject

publicado por Fernando A. Valente

Django

Já faz um tempo que tenho essa idéia de criar um tutorial do básico ao avançado utilizando Python e Django. O objetivo principal é destrinchar e compartilhar com vocês, tentando ajudar quem está começando e quem já tem uma intimidade com o framework.

Depois de um tempo com essa vontade, finalmente resolvi por em prática e iniciar essa sequencia de tutoriais. Iniciei esse projeto em meu site e vou dar continuidade aqui, no Ti Especialistas. Sem mais delongas, vamos ao que interessa.

Pip e Virtualenv

Direto ao ponto agora! A primeira coisa que você deve fazer é instalar o *pip e em seguida o virtualenv:

# Instalando no Mac Os
$ sudo easy_install pip
# Instalando no Ubuntu: 
$ sudo apt-get install python-pip
# Instalando no Fedora:
$ sudo yum install python-pip

*Pip é um sistema de gerenciamento de pacotes usado para instalar e gerenciar pacotes de software escritos na linguagem de programação Python. Muitos pacotes podem ser encontrados no Python Package Index.

Virtualenv

A utilização do virtualenv é fundamental para isolar as instalações de sua aplicação. Suponha que você está trabalhando em mais de um projeto Python ao mesmo tempo, um desses projeto utiliza o Django 1.6 e Python 2.7 e o outro, mais recente, roda com o Django 1.8 e Python 3. Se você fizer as instalações das dependências de um dos projetos diretamente na sua máquina, você terá sérios problemas se fizer o mesmo com o outro projeto. Foi pensando nisso que pintou o virtualenv.

# Rodando tanto no Linux quanto no Mac Os
$ sudo pip install virtualenv

Existe uma outra opção (bem bacana por sinal) para facilitar mais ainda sua vida com o virtualenv. Estou falando do virtualenvwrapper. Ele tem o mesmo objetivo do virtualenv normal, mas recebe algumas facilidades como criar/ativar uma virtualenv com apenas um comando, listar as envs de sua máquina etc. Particularmente eu prefiro usar o virtualenv puro, mas usei o virtualenvwrapper durante um bom tempo.

Nesse tutorial vou usar o virtualenv normal, mas se você quiser aprender e usar o virtualenvwrapper, fique a vontade. O tutorial oficial deles é muito simples e você não terá problemas para aprender.

Seguindo… Depois que você instalar o virtualenv pelo pip, está na hora de começar a brincadeira. Novamente pelo terminal, execute o comando:

# Rodando tanto no Linux quanto no Mac Os
$ virtualenv -p python3 env

O nome “env” pode ser qualquer nome que você queira usar. Quando vou iniciar um novo projeto em Django, eu costumo criar uma pasta com o nome do projeto. Dentro dela uma com a env e outra que irá receber o código, ficando da seguinte forma:

|django-tutorial
|____env
|____tutorial

O próximo passo é ativar a virtualenv para em seguida instalar o Django na env que acabamos de criar:

# Rodando tanto no Linux quanto no Mac Os
$ source env/bin/activate

Depois que você fizer isso, repare que aparecerá no console a indicação que você está com a env ativa:

(env)django-tutorial|⇒

Finalmente chegamos ao Django

# Rodando tanto no Linux quanto no Mac Os
$ pip install django
Downloading/unpacking django
  Downloading Django-1.8.4-py2.py3-none-any.whl (6.2MB): 6.2MB downloaded
Installing collected packages: django
Successfully installed django
Cleaning up...

Ao rodar esse comando, o pip irá procurar e instalar automaticamente a versão mais recente do Django. No momento da criação desse tutorial, a versão mais recente do Django é a 1.8.4.

No fim da instalação, você pode conferir se tudo foi instalado corretamente, rodando o comando freeze do pip:

# Rodando tanto no Linux quanto no Mac Os
$ pip freeze
Django==1.8.4

Tudo certo? Django instalado? Vamos criar nossa aplicação. Esse ponto acaba sendo um pouco “mamílico”. Todo mundo que começa a trabalhar com Django tem a mesma dúvida… Como organizar as apps. Eu tive essa dúvida no início e cheguei a uma organização que achava boa na época, porém com o passar do tempo, foi modificando e cheguei na organização que vou apresentar aqui. É a melhor? É a correta? Não sei… Mas é a forma que mais me agrada. Dito isso, volte para o terminal e rode o comando dentro da pasta tutorial que criamos anteriormente.

# Rodando tanto no Linux quanto no Mac Os.
$ django-admin startproject tutorial .

Repare que agora temos um novo arquivo e uma pasta com outros arquivos dentro.

|____manage.py
|____tutorial
| |______init__.py
| |____settings.py
| |____urls.py
| |____wsgi.py

manage.py

Esse “mágico” arquivo estará ao seu lado para sempre! O manage é usado para executar uma série de comandos como, rodar sua aplicação no ambiente de desenvolvimento, transformar suas models em tabelas no banco de dados (estudaremos as models mais para frente), rodar nossos testes e etc. Dentro desse arquivo encontraremos pouco código, mas não se engane com essa simplicidade.

Django

__init__.py

Você abriu esse arquivo? Não fique decepcionado… Sim, ele não tem nada dentro:

__init__.py

Mesmo sem nada, o __init__.py é muito importante e você vai esbarrar com ele em vários momentos na sua aplicação. O objetivo desse tutorial é destrinchar o Django, por isso, se você não sabe o motivo da existência deste arquivo, recomendo uma pausa rápida nesse tutorial e uma lida sobre os módulos em Python https://docs.python.org/3/tutorial/modules.html.

settings.py

Agora a brincadeira começa a ficar legal! Esse arquivo é responsável pelas configurações de seu projeto. É nele que adicionamos as informacões do banco de dados, é nele que iremos encontrar a chave secreta, é nele que vamos definir em que local vamos adicionar nossos arquivos estáticos e etc.

Falaremos sobre settings no próximo post e prepare-se, pois teremos um artigo repleto de informações importantes.

urls.py

Igual ao settings, as urls serão abordadas em um outro artigo. Em resumo, esse arquivo é responsável por criar as rotas de sua aplicação. É por ele que faremos a “ponte” entre a url digitada no navegador e a view que retornará as informações requisitadas etc. Iremos adicionar e editar as urls em vários momentos do nosso tutorial.

wsgi.py

Não vou nem falar sobre isso agora! Mas chegaremos lá… Aguarde e confie! 🙂

Se você chegou até aqui, é sinal que estou seguindo o caminho certo! A idéia é publicar ao menos um artigo por semana, mas prometo fazer mais do que isso.

Autor

Atuante na área de desenvolvimento web desde 2007 prestando serviços para corporações da área da saúde, educação, tecnologia e pesquisa, jornalismo e entretenimento. Além de apaixonado pelo que faz, é aficionado por Python e tecnologia. Membro da Python Software Foundation, Python Brasil e Doador do Django Project.

Fernando A. Valente

Comentários

2 Comments

  • Boa tarde, e eu querendo um tutorial desses

    • Que legal! Já já vou publicar a segunda parte 🙂

You must be logged in to post a comment.

Busca

Patrocínio

Publicidade



Siga-nos!

Newsletter: Inscreva-se

Para se inscrever em nossa newsletter preencha o formulário.

Artigos Recentes