Autenticação em Django: Modelos de usuário em Django

Capítulo 133

Tempo estimado de leitura: 3 minutos

+ Exercício
Audio Icon

Ouça em áudio

0:00 / 0:00

Autenticação é um componente essencial de quase todas as aplicações web. No Django, um framework de desenvolvimento web Python, a autenticação é integrada por padrão, tornando a criação e a gestão de usuários uma tarefa relativamente simples. No entanto, para realmente aproveitar ao máximo o sistema de autenticação do Django, é importante entender como os modelos de usuário funcionam.

O Django fornece um modelo de usuário padrão que pode ser usado para criar e gerir usuários. Este modelo de usuário é bastante completo, incluindo campos para nome de usuário, senha, endereço de e-mail, nome completo, data de nascimento, e muito mais. No entanto, o Django também permite criar modelos de usuário personalizados, o que pode ser útil se você precisar de funcionalidades adicionais que o modelo de usuário padrão não fornece.

Para criar um modelo de usuário personalizado, você precisa criar uma nova classe em seu aplicativo Django que herda de 'AbstractUser' ou 'AbstractBaseUser'. 'AbstractUser' é uma versão abstrata do modelo de usuário padrão, enquanto 'AbstractBaseUser' fornece apenas os campos e métodos mais básicos, permitindo-lhe definir completamente o seu próprio modelo de usuário.

Por exemplo, se você quisesse adicionar um campo para o número de telefone do usuário, você poderia criar um modelo de usuário personalizado assim:

from django.contrib.auth.models import AbstractUser
from django.db import models

class CustomUser(AbstractUser):
    phone_number = models.CharField(max_length=15)

Depois de criar o seu modelo de usuário personalizado, você precisa dizer ao Django para usá-lo em vez do modelo de usuário padrão. Você faz isso adicionando a seguinte linha ao seu arquivo de configuração do Django:

Continue em nosso aplicativo e ...
  • Ouça o áudio com a tela desligada
  • Ganhe Certificado após a conclusão
  • + de 5000 cursos para você explorar!
ou continue lendo abaixo...
Download App

Baixar o aplicativo

AUTH_USER_MODEL = 'myapp.CustomUser'

Onde 'myapp' é o nome do seu aplicativo Django e 'CustomUser' é o nome do seu modelo de usuário personalizado.

Uma vez que você tenha configurado o Django para usar o seu modelo de usuário personalizado, você pode usar o sistema de autenticação do Django como faria normalmente. Você pode criar usuários, verificar senhas, gerir sessões, e muito mais. O Django cuidará de todos os detalhes para você, como o armazenamento seguro de senhas e a gestão de cookies de sessão.

Além disso, o Django fornece vários métodos úteis para trabalhar com usuários. Por exemplo, você pode usar o método 'authenticate' para verificar se o nome de usuário e a senha fornecidos por um usuário correspondem a um usuário existente. Você pode usar o método 'login' para iniciar uma sessão para um usuário, e o método 'logout' para terminar uma sessão. Você também pode usar o método 'is_authenticated' para verificar se um usuário está atualmente autenticado.

Em resumo, o sistema de autenticação do Django é uma ferramenta poderosa que torna a gestão de usuários uma tarefa fácil. Com a capacidade de criar modelos de usuário personalizados, você pode adaptar o sistema de autenticação do Django para se adequar às necessidades específicas da sua aplicação.

Portanto, ao criar um curso de criação de sistemas com Python e Django, é crucial abordar a autenticação em Django e os modelos de usuário em Django, pois são componentes fundamentais para qualquer aplicativo Django. Ao entender esses conceitos, os alunos estarão bem equipados para criar e gerir usuários em suas próprias aplicações Django.

Agora responda o exercício sobre o conteúdo:

No Django, como você pode criar um modelo de usuário personalizado que inclui um campo para o número de telefone do usuário?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Para criar um modelo de usuário personalizado no Django e adicionar um campo como 'phone_number', você pode herdar de 'AbstractUser' ou 'AbstractBaseUser'. Essas são classes base que permitem a criação de novos modelos incluindo campos personalizados, enquanto mantém integração com o sistema de autenticação do Django.

Próximo capitúlo

Autenticação em Django: Autenticação de usuários com username e password

Arrow Right Icon
Capa do Ebook gratuito Curso de criação de sistemas com Python e Django completo
76%

Curso de criação de sistemas com Python e Django completo

5

(4)

176 páginas

Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.