Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Automatização da funcionalidade de publicação

Não foi mencionado nas aulas, mas a funcionalidade de publicação do capítulo 3 me fez pensar:

É possível automatizar um horário de publicação para os objetos que eu quero que apareçam no meu site? Exemplo: quero que determinado item só apareça no site a partir do dia 20/03 às 20:00hrs. Quero que o outro objeto só apareça no dia 21/03...

Alguém sabe me dizer de que forma essa automatização poderia ser feita, direto pela tela de admin?

1 resposta
solução!

Olá, Mariana! Como vai?

Sua pergunta é muito interessante e mostra que você está pensando além do que foi apresentado no curso, o que é ótimo!

Sim, é possível automatizar um horário de publicação para os objetos em Django. Uma maneira de fazer isso é adicionando um campo de data e hora de publicação no seu modelo. Por exemplo:

class MeuModelo(models.Model):
    # Outros campos...
    data_publicacao = models.DateTimeField()

Você pode preencher esse campo com a data e hora em que deseja que o objeto seja publicado. Em seguida, na sua view, você pode filtrar os objetos que devem ser exibidos com base na data e hora atual. Por exemplo:

from django.utils import timezone

def minha_view(request):
    objetos = MeuModelo.objects.filter(data_publicacao__lte=timezone.now())
    # ...

No código acima, data_publicacao__lte=timezone.now() retorna apenas os objetos cuja data de publicação é menor ou igual (lte significa "less than or equal to") à data e hora atual.

Quanto à questão de fazer isso pela tela de admin, você pode sim! O Django Admin permite que você edite todos os campos do seu modelo, incluindo o campo de data de publicação que você acabou de adicionar. Então, você pode definir a data e hora de publicação de cada objeto diretamente pela tela de admin.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.