Iniciante em Django - Python
Comandos Iniciante em Django - Python
Criando o ambiente virtual, no terminal digite os comandos:
1) $python -m venv venv
2) $.\venv\Scripts\Activate.ps1
Instalando django no terminal do VSCode
$ pip install django
Criar o projeto django
$ django-admin startproject projeto_cadastro
$ cd projeto_cadastro
$ django-admin startapp app_cad_usuarios
Para chegar no desenvolvimento do HTML existem 3 fases
1-ROTA - URLS.py
2-VIEWS.py - O que fazer quando chegar naquele link
3-HTML
Então entra no URLS.py do projeto cadastro
urlpatterns = [
path('admin/', admin.site.urls),
path('',views.home,name='home'),
]
Depois na views.py dentro de app_cad_usuarios
from django.shortcuts import render
from .models import Usuario
def home(request):
return render(request,'usuarios/home.html')
def usuarios(request):
#Salvar os dados da tela para o banco de dados
novo_usuario = Usuario()
novo_usuario.nome = request.POST.get('nome')
novo_usuario.idade = request.POST.get('idade')
novo_usuario.save()
#Exibir todos os usuarios cadastrados em uma nova pagina
usuarios = {
'usuarios': Usuario.objects.all()
}
#Retornar os dados para a pagina de listagem de usuarios
return render(request,'usuarios/usuarios.html',usuarios)
Agora precisa criar uma pagina HTML, para isso você precisa adicionar uma pasta chamada TEMPLATES dentro da pasta
app_cad_usuarios, e depois outra pasta USUARIOS, apos isso um arquivo HOME.HTML
Precisa adicionar em settings.py o nome da pasta em INSTALLED_APPS, nesse caso 'app_cad_usuarios'.
Para rodar, entra na pasta do manage.py (sempre que for rodar um comando, verificar se está na pasta com o manage.py)
$python manage.py runserver
##Lembrar de adicionar {% csrf_token%} , abaixo do <form>, para não ficar vulneravel a ataques na pagina HOME.html
=================================================================
Utilizando o banco de dados
No arquivo MODELS.py, você vai criar um objeto que será sua tabela, com as colunas e os tipos do mesmo.
from django.db import models
class Usuario(models.Model):
id_usuario = models.AutoField(primary_key=True)
nome = models.TextField(max_length=255)
idade = models.IntegerField()
Irá rodar Depois Migrations para criação das colunas
$python manage.py makemigrations
E por fim o comando migrate que fará a criação da tabela no dbsqlite3
$python manage.py migrate
Comentários