Desenvolva um forte entendimento dos papéis e funções de projetos e aplicativos dentro da estrutura do Django.
No Django, você pode usar dois componentes principais para criar um aplicativo da web; aplicativos e projetos. Às vezes, os desenvolvedores usam esses termos de forma intercambiável, embora tenham significados e funções distintas na estrutura da Web do Django.
Entendendo os Projetos Django
No Django, um projeto é um contêiner de nível superior para seu aplicativo da web. Um projeto contém as configurações para seu aplicativo da web e um ou mais aplicativos, cada um fornecendo um conjunto específico de funcionalidades ou recursos para seu aplicativo da web. Ele também contém quaisquer componentes compartilhados entre seus diferentes aplicativos. Em um projeto Django, você pode encontrar ferramentas e utilitários que facilitam o gerenciamento de seu aplicativo da Web, como o utilitário de linha de comando Django e o servidor de desenvolvimento Django.
Componentes de um projeto Django
Um projeto Django normalmente contém diferentes aplicativos e as configurações do seu aplicativo da web. Sempre que você cria um novo projeto, o Django gera automaticamente arquivos contendo essas configurações. Os componentes incluídos em um projeto Django são:
- Configurações: o módulo de configurações contém as configurações necessárias para seu projeto e os aplicativos individuais em seu projeto. Este módulo contém principalmente opções de configuração, como conexão de banco de dados, middleware, aplicativo instalado, hosts permitidos e outras configurações necessárias para que seu aplicativo da web funcione.
- URLs: O módulo de URLs define um padrão de URL para seu aplicativo. Cada padrão de URL em seu projeto pode ser mapeado para outro padrão de URL em seu aplicativo ou diretamente para uma função de exibição que manipula a solicitação para o URL específico. Quer o padrão de URL seja mapeado para uma função de exibição ou outro padrão de URL em seu aplicativo, o objetivo final é mapeá-lo para uma exibição que lide com a solicitação de maneira eficaz.
- WSGI: O módulo WSGI (Web Server Gateway Interface) é o padrão Python para servidores e aplicativos da web. O módulo WSGI permite que o Django rode em vários servidores.
- ASGI: O módulo ASGI (Asynchronous Server Gateway Interface) lida com solicitações assíncronas, como Conexões WebSockets. ASGI é um padrão para servidores web assíncronos para se comunicar com aplicativos web Python.
- Outros componentes: Às vezes, você será solicitado a adicionar seus próprios componentes ao seu projeto Django, dependendo dos requisitos do seu aplicativo. Esses componentes incluem arquivos estáticos, modelos, arquivos de mídia e comandos de gerenciamento personalizados.
Como criar um projeto Django
Para criar um projeto Django, você deve usar o django-admin utilitário de linha de comando. Você pode criar seu projeto Django seguindo estas etapas:
- Em sua interface de linha de comando, navegue até o diretório onde deseja criar seu projeto Django.
- Instale o Django com o gerenciador de pacotes pip.
pip instalar django
- Digite o seguinte comando e execute-o:
django-admin startproject
O comando acima criará um diretório como este:
Você notará uma redundância nos nomes do diretório do seu projeto, ou seja, o nome do seu projeto aparece duas vezes. Se você quiser se livrar disso, você pode adicionar um ponto quando executar seu iniciar projeto comando assim:
django-admin startproject .
Agora, a estrutura do seu projeto ficará assim:
Com as etapas acima, você deve ter criado com sucesso um projeto Django. O manage.py arquivo criado em seu projeto é importante para interagir com seu projeto Django.
Entendendo um aplicativo Django
O objetivo de um aplicativo é fornecer ao seu projeto Django uma funcionalidade específica. Um aplicativo ajuda você a organizar sua base de código dividindo as funcionalidades do seu projeto em componentes menores.
Por exemplo, em um projeto de blog, você terá um aplicativo dedicado à autenticação e autorização e outro dedicado às postagens do blog. Você pode criar vários aplicativos com base nas necessidades específicas do seu projeto.
Componentes de um aplicativo Django
Um aplicativo Django consiste em módulos relacionados ao projeto, ou seja, a uma funcionalidade específica do seu site. Assim como em um projeto, o Django gera automaticamente arquivos úteis quando você cria um aplicativo. Os arquivos gerados pelo Django incluem o seguinte:
- views.py: Este arquivo conterá toda a lógica necessária para receber solicitações e enviar respostas. Ele também determina qual modelo HTML renderizar com base nas ações do usuário em seu site.
- modelos.py: Este módulo estabelece a estrutura de dados do seu aplicativo e determina como o banco de dados irá armazená-lo. Ele usa o ORM (Mapeamento Object-Relational) do Django para definir os dados. O componente de modelos define diferentes relacionamentos de banco de dados no Django.
- admin.py: O módulo admin define a interface de administração do seu aplicativo Django. Você deve registrar seus modelos dentro do arquivo admin. Se você precisar de funcionalidades administrativas adicionais além daquelas fornecidas pelo Django, você pode definir visualizações personalizadas para sua interface administrativa neste módulo.
- urls.py: Este arquivo define os padrões de URL ou rotas exclusivas para um aplicativo Django específico. Às vezes, o Django não gera esse arquivo automaticamente. Se isso acontecer, você pode criá-lo manualmente no diretório do aplicativo.
O Django gera alguns outros componentes, como apps.py e testes.py. Esses arquivos definem as configurações do aplicativo e permitem que você escreva testes de unidade, respectivamente.
Como criar um aplicativo Django
Antes de criar um aplicativo, você deve ter criado um projeto. Depois de criar seu projeto, navegue até o diretório que contém o manage.py file e execute o seguinte comando em seu terminal:
python manage.py startproject
O comando acima criará uma estrutura de pastas como esta no mesmo nível de diretório do seu projeto:
Diferença entre um aplicativo e um projeto no Django
Existem algumas diferenças distintas entre um projeto e um aplicativo no Django. Alguns deles estão listados abaixo.
Reutilização de código
No Django, um aplicativo é um componente reutilizável do seu aplicativo da web. Isso significa que, se você tiver um aplicativo que lida com a autenticação do usuário para um projeto, poderá reutilizar o mesmo aplicativo em outro projeto com pouca ou nenhuma alteração. Um projeto, por outro lado, não é reutilizável. Depois de criar um projeto para um aplicativo da Web específico, você não pode usá-lo para outro aplicativo.
Escopo de operação
Um projeto opera em um nível superior a um aplicativo porque é responsável pela configuração e gerenciamento geral do seu site. Por outro lado, um aplicativo é responsável apenas por um recurso ou funcionalidade específica do seu site.
Estrutura de pastas
A diferença mais óbvia entre um aplicativo e um projeto são as estruturas de pastas. Um projeto normalmente inclui configurações e outros arquivos de configuração responsáveis pelo bem-estar do seu site.
Um aplicativo segue Arquitetura MVT do Django. Ele contém apenas arquivos e configurações responsáveis pelo bem-estar de um recurso específico do seu site.
Seu projeto e aplicativo trabalham juntos para criar um bom aplicativo da Web
Embora seu projeto e aplicativo tenham sua exclusividade, eles são usados para oferecer uma experiência perfeita ao criar seu aplicativo. Você deve ser capaz de combinar os componentes do projeto e do aplicativo para criar e personalizar seu aplicativo da web. Com seu aplicativo e projeto prontos, você pode começar a construir seu site com Django.