Closed regiov closed 3 weeks ago
boa!
Caso ajude, segue um código para gerar postagens aleatórias. Só precisa antes instalar uma lib chamada Faker:
import random
from datetime import timedelta
from faker import Faker
from django.utils import timezone
from vol.models import Usuario, PostagemBlog
fake = Faker()
# Qtde de posts a serem gerados
qtde = 30
# Usuários aleatórios no banco, na mesma qtde de posts
usuarios = random.sample( list(Usuario.objects.all()), qtde )
# Data / hora de agora
tz = timezone.get_current_timezone()
agora = timezone.now().astimezone(tz)
# Loop para geração de postagens
for i in range(0, qtde):
# Primeiras n palavras de texto aleatório, evitando ponto para não dar problema com slug
frase = fake.text().replace('.', '')
palavras = frase.split(" ")
if len(palavras) >= 5:
palavras_titulo = palavras[:random.randint(3, 5)]
else:
palavras_titulo = palavras
# Data aleatória de 1 a 300 dias atrás
delta = timedelta(days = random.randint(1, 300))
data = agora - delta
# 15 trechos concatenados de texto aleatório
texto = fake.text()
for j in range(0, 15):
texto += ' ' + fake.text()
# Postagem aleatória
postagem = PostagemBlog(titulo=" ".join(palavras_titulo),
slug="-".join(palavras_titulo).lower(),
autor=fake.name(),
texto=texto,
resp_criacao=usuarios[i],
data_publicacao=data,
resp_publicacao=usuarios[i],
status=1)
postagem.save()
# Sobrepõe data de criação automática
postagem.data_criacao=data
postagem.save(update_fields=['data_criacao'])
Obrigada @regiov ! Vou usar.
Ok. Observe que já existem páginas no site que usam paginação: busca de entidades, busca de voluntários e busca de vagas. Sugiro inspecionar o código, tentar entender e replicar. Não lembro de todos os detalhes, mas se for possível, podemos inclusive pensar num template próprio com os links das páginas, a ser usado em todos esses lugares.
A versão inicial da paginação do blog foi realizada. Estou agora na próxima etapa:
OK, mas sugiro primeiro definir o padrão final de código a ser usado antes de replicar nos outros lugares
Vou trabalhar nesta aqui!