Executando verificação de segurança...
Em resposta a JavaScript ou Python?
0

Eu escolhi python e não me arrependo, mas tive que começar com frameworks em Java tipo Next.JS para trabalhar com API RESTs, o python é muito bom como banco de dados também, no caso o pessoal usa bastante django, django é um framework baseado em python que sinceridade?
Não há igual, é descomunal aquilo, é o melhor gerenciador de banco de dados / framework que eu já conheci, o LOC é bem menor do que java, enquanto em java você usa 30mil no python você usa 4 mil 3 mil linhas (Fiz isso por que o mercado pede muito, por que tem muita gente, mas HTMX faz o mesmo serviço e até melhor que React, manutenção facil e rápido).


from django.contrib.auth.models import AbstractUser
from django.utils.text import slugify
from django.db import models

from apps.core.utils.manager import image_path


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

    avatar = models.ImageField(upload_to=image_path, default="default.png")
    first_name = models.CharField(max_length=255, verbose_name="Nome")
    last_name = models.CharField(max_length=255, verbose_name="Sobrenome")
    birth = models.DateField(verbose_name="Nascimento", blank=True, null=True)

    phone = models.CharField(max_length=255, verbose_name="Celular", blank=True, null=True)

    address_name = models.CharField(max_length=255, verbose_name="Endereço", blank=True, null=True)
    address_number = models.CharField(max_length=255, verbose_name="Número", blank=True, null=True)
    city = models.CharField(max_length=255, verbose_name="Cidade", blank=True, null=True)
    state = models.CharField(max_length=255, verbose_name="Estado", blank=True, null=True)
    country = models.CharField(max_length=255, verbose_name="País", blank=True, null=True)

    slug = models.SlugField(max_length=255, blank=True, null=True)

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

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

    def __str__(self):
        return self.email

Um exemplo de uma view de usuários feita em django, simples e rápido, quando você faz a migração para o banco de dados, interessante usar Postgres. Você consegue gerenciar isso apenas entrando na aba /admin com seu superusuário.

Utilizando o chatgpt para fazer a tradução, em JavaSpring ficaria assim, e o gerenciamento dos dados você faria a parte.

import javax.persistence.*;
import org.springframework.util.StringUtils;

@Entity
@Table(name = "account")
public class Account {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    @Column(nullable = false, unique = true)
    private String email;
    
    @Column(nullable = false)
    private String password;
    
    @Column(nullable = false, length = 255)
    private String avatar;
    
    @Column(name = "first_name", nullable = false, length = 255)
    private String firstName;
    
    @Column(name = "last_name", nullable = false, length = 255)
    private String lastName;
    
    @Column
    private LocalDate birth;
    
    @Column(length = 255)
    private String phone;
    
    @Column(name = "address_name", length = 255)
    private String addressName;
    
    @Column(name = "address_number", length = 255)
    private String addressNumber;
    
    @Column(length = 255)
    private String city;
    
    @Column(length = 255)
    private String state;
    
    @Column(length = 255)
    private String country;
    
    @Column(length = 255)
    private String slug;
    
    // Constructors, getters, and setters
    
    // You may also need to define relationships with other entities if required.
    
    public void save() {
        if (StringUtils.isEmpty(slug)) {
            slug = StringUtils.slugify(username);
        }
        // Save the account object to the database using Spring Data JPA or any other ORM.
    }
    
    // You can define additional methods or annotations as per your requirements.
    
    @Override
    public String toString() {
        return email;
    }
}

Carregando publicação patrocinada...
1
1

Perdão, tai, sabendo que isso é só o modelo para salvar os dados, fora o gerênciamento do banco de dados e mais linhas de códigos pra registrar, mais pra demonstrar, criar uma area administrativa.

const slugify = require('slugify');

class Account {
  constructor(email, avatar, first_name, last_name, birth, phone, address_name, address_number, city, state, country) {
    this.email = email;
    this.avatar = avatar || 'default.png';
    this.first_name = first_name;
    this.last_name = last_name;
    this.birth = birth || null;
    this.phone = phone || null;
    this.address_name = address_name || null;
    this.address_number = address_number || null;
    this.city = city || null;
    this.state = state || null;
    this.country = country || null;
    this.slug = null;
  }

  save() {
    if (!this.slug) {
      this.slug = slugify(this.username);
    }
    // Aqui você pode escrever o código para salvar os dados do usuário no backend.
  }

  toString() {
    return this.email;
  }
}

1

igribeiro, interessante, gostei! Nesse código, você me deu uma ideia de perguntar outra dúvida, vou colocar agora aqui no TabNews e veremos qual análise, os cara vai fazer... Isso vai ser bom pra mim, porque preciso escolher uma área depois que eu começar a ter um desenvolvimento melhor na programação, depois de um tempo... Vou precisar de uma área pra focar... Valeu!

1