Executando verificação de segurança...
1

Django, fácil e rápido

Usuário

import os
import uuid

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


def image_path(instance, filename):
    ext = filename.split('.')[-1]
    filename = f'{uuid.uuid4()}.{ext}'
    user= Account.objects.get(email=instance)
    return f"accounts/{user.username}/avatars/{filename}"

class Account(AbstractUser):
    email = models.EmailField(
        max_length=255, unique=True, blank=False, null=False)

    avatar = models.ImageField(
        upload_to=image_path, default="default.png", blank=True, null=True)
    email_notify = models.BooleanField("Notificação por email", default=True)
    slug = models.SlugField(blank=True)

    def save(self, *args, **kwargs):
        if not self.slug:
            self.slug = self.username
        return super().save(*args, **kwargs)

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['username',]

    def __str__(self):
        return self.email

Com esse modelo já tem uma interface completa de usuários pelo Django, e para fazer o de exames, fica muito bom também.

Carregando publicação patrocinada...
1