DesenvolvimentoDestrinchando o Django - Startproject

Destrinchando o Django – Startproject

-

Publicidade

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.

Fernando A. Valentehttp://www.fernandovalente.com.br
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.

2 COMMENTS

Latest news

Software para MSPs: indo além do preço ao procurar pelas ferramentas certas

Confira 5 dicas essenciais para escolher as melhores plataformas para compor o monitoramento e segurança da infraestrutura de TI dos seus clientes

Rápido, seguro e nativo: Chrome chega ao Windows no Snapdragon

"Projetamos o navegador Chrome para ser rápido, seguro e fácil de usar em desktops e dispositivos móveis, e estamos sempre procurando maneiras de levar essa experiência a mais pessoas", disse Hiroshi Lockheimer, Senior Vice President, Google.

Convergir segurança física e TI garante maior proteção para instalações, redes e negócios

Hoje, com o aumento das violações de dados em todo o mundo e as regulamentações de privacidade evoluindo rapidamente, é mais importante do que nunca que segurança física e TI trabalhem juntas para proteger instalações e infraestrutura de rede.

Evoluindo de modelos LLM para modelos LAM

Os modelos LAMs marcam um avanço fundamental na inteligência artificial, transcendendo as capacidades convencionais de geração de texto dos LLMs. Ao contrário dos LLMs que respondem com texto, os LAMs captam a intenção por trás da linguagem humana, decifrando objetivos complexos. Eles então traduzem esses objetivos em ações do mundo real, como por exemplo, filtrar e-mails com base em suas tarefas agendadas.
Publicidade

O impacto da IA generativa nas memórias RAM e SSDs: Um olhar sobre o futuro do hardware

Algoritmos de IA otimizados podem reduzir o uso de RAM ao aplicar técnicas como computação distribuída e processamento eficiente de dados, garantindo uma melhor utilização da memória disponível. Da mesma forma, um uso eficiente dos SSDs pode minimizar o impacto das operações de entrada/saída (I/O) no desempenho.

5 Insights sobre Gestão da Experiência

Empresas de referência em Gestão da Experiência crescem 190% mais que a média do seu segmento. É o que aponta o Relatório do Boston Consulting Group (BCG). E os resultados positivos não param por aí: o retorno de investimento pode ser até 55% maior para acionistas das empresas em um prazo de cinco anos e o NPS chega a aumentar cerca de 70%.

Must read

Software para MSPs: indo além do preço ao procurar pelas ferramentas certas

Confira 5 dicas essenciais para escolher as melhores plataformas para compor o monitoramento e segurança da infraestrutura de TI dos seus clientes

Rápido, seguro e nativo: Chrome chega ao Windows no Snapdragon

"Projetamos o navegador Chrome para ser rápido, seguro e fácil de usar em desktops e dispositivos móveis, e estamos sempre procurando maneiras de levar essa experiência a mais pessoas", disse Hiroshi Lockheimer, Senior Vice President, Google.
- Advertisement -

You might also likeRELATED
Recommended to you