/Django-alura-space

Este é um projeto pessoal de estudo que segue as aulas da formação "Django: crie aplicações em Python" da Alura. O objetivo é aprender a criar aplicações web com o framework Django, que é amplamente utilizado para desenvolvimento em Python.

Primary LanguageCSS

Django - Criando aplicações em python

Capa do projeto, com um astronauta no espaço com o texto "Alura Space Django"

Templates e Boas Práticas

Alura-Space

O Django é uma ótima ferramenta para fazer front-end e back-end trabalharem em sintonia.

Arquitetura

Separação das responsabilidades das diferentes partes do sistema

Duas aplicações distintas:
🪲 Galeria - Inserção de novas fotografias;
🪲 Users - Processos relativos aos usuários (cadastro, login e autenticação).

Ambiente de desenvolvimento

IDE

Vscode

Extensões

SQlite Viewer - Florian Klampfer

Linguagem

Python 3.10.9

Instalação Pip

(Sistema Windows)

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py 

Ambiente Virtualizado

virtualenv

pip install virtualenv

Template

Link para baixar o Template

Django é um framework escrito em Python e focado no desenvolvimento de projetos. Ele é uma espécie de “caixa de ferramentas” com várias soluções para o desenvolvimento de projetos.

Virtualenv

python3 --version
virtualenv --version
venv/Scripts/Activate 
pip install django

Instalar o Django com o pip, um programa de gerenciamento de pacotes do Python.

Servidor

Visualizar todas as dependências do projeto e os módulos que precisam ser instalados para que o projeto funcione:

pip freeze 
Informa a versão de Django, sqlparse, sgireft

asgiref==3.6.0 Django==4.2 sqlparse==0.4.3 tzdata==2023.3

Execute o comando:

pipfreeze > requiriments.txt 

Setup

Django-admin startproject setup . 

Será criado uma pasta chamada "setup", dentro de "alura-space" , com as configurações do projeto

pip install -r requirements.txt

o pip garante a instalação de todos os pacotes e módulos incluídos no arquivo "requirements.txt".

manage.py

Responsável por realizar a maioria dos comandos que utilizaremos para o desenvolvimento de aplicações Django e também por subir servidores.

⚠️ Utilizar a versão do Python da venv

python manage.py runserver 

Configuração do interpretador no VS Code

O python que instalmos na virtualenv "CTRL + SHIFT + P" --> Pesquisar "Interpretador" e selecionar python:selecionar interpretador --> Insira o caminho do interpretador e depois em localizar.... Navegando até alura_space > .venv > Scripts, selecione o arquivo python.exe e clique em Selecionar interpretador

Idioma Principal e Fuso Horário

setup > setting.py

setting.py

Arquivo que contém todas as configurações do projeto

  • dependências;
  • templates;
  • e mais.

Linhas 106 e 108 - LANGUAGE_CODE e TIME_ZONE

Versionamento

Dependência python-dotenv

pip install python-dotenv
pip freeze > requirements.txt

gitignore.io Digitando "Django", irá gerar a definição de cada arquivo que por motivos de segurança, não podemos enviar para o Github.

Criação do primeiro app

python manage.py startapp galeria 

Para sinalizar que o app "galeria" faz parte do nosso projeto. "setup > settings.py"

Em INSTALLED_APPS, vamos passar o app:

INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'galeria', <-- o app que acabamos de criar!

Persistência de dados e Admin

Django ORM --> O Django traduz uma classe para uma tabela no banco de dados - Bruno Divino

python manage.py makemigrations
python manage.py migrate

Com o (.venv)

Criando Dados

Para adicionar um item

python manage.py shell 

Para importar photography

from galeria.models import photography

Após importar, a criação do dado:

picture = photography(name="NOME_DA_FOTOGRAFIA, legend="LEGENDA_DA_FOTOGRAFIA")

Para salvar

picture.save() 

Exibir os objetos criados no model de photography

photography.objects.all() 

Criação do Administrator

python manage.py createsuperuser 

Autenticação de formulários e alerta

Funcionalidades de login e de cadastro de novas pessoas com o banco de dados interno do Django, utilizando o users do Django admin. Será aplicado também uma regra de negócio: apenas pessoas cadastradas podem visualizar a galeria da página inicial.

Instrutor

Guilherme Lima e Bruno Divino
django