Python - Django framework, quando cria a base de dados é facil de manutenir devido ao admin criado automaticamente pelo framework. Se for fazer ele bem simples, é super rapido, faz um CRUD e bota online em uma VPS , domínio e se quiser um email também.
from django.views.generic import ListView, CreateView, UpdateView, DeleteView
from .models import Post
class IndexView(ListView):
template_name = "pages/index.html"
model = Post
class NewPost(CreateView):
template_name = "pages/new_post.html"
model = Post
fields = '__all__' # ou especifique os campos desejados
class EditPost(UpdateView):
template_name = "pages/edit_post.html"
model = Post
fields = '__all__' # ou especifique os campos desejados
class DeletePost(DeleteView):
template_name = "pages/delete_post.html"
model = Post
success_url = '/' # URL para redirecionar após excluir o post
O backend pode ser assim:
import uuid
from django.db import models
from django.contrib.auth.models import User
from ckeditor.fields import RichTextField
def image_path(instance,filename):
ext = filename.split("/")[-1]
filename = f"{uuid.uuid4()}.{ext}"
return f"banners/{filename}"}
class Base(models.Model):
create_at = models.DateTimeField(auto_now_add=True)
edited_at = models.DateTimeField(auto_now=True)
is_active = models.BooleanField(default=True)
class Posts(Base):
#Ou utilizar ManyToMany
#author = models.ManyToManyField(User)
author = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=255)
description = RichTextField()
banner = models.ImageField(upload_to=image_path, blank=True, null=True)
E dai vai , pode colocar várias coisas.