Olá Alexandre, tudo bem com você?
Peço desculpas pela demora em obter um retorno.
Entendo sua intenção de permitir que os usuários decidam se desejam publicar suas receitas imediatamente ou não. No entanto, é importante considerar a importância de um processo de aprovação administrativa para validar as informações antes de serem disponibilizadas publicamente. Ao ter um administrador revisando e aprovando as receitas antes de serem publicadas, você garante que o conteúdo seja adequado, preciso e relevante para os demais usuários. Isso ajuda a manter a qualidade do índice de receitas, evitando que informações errôneas, incompletas ou inadequadas sejam exibidas para todos. Dessa forma, ao envolver um administrador nesse fluxo de aprovação, você garante a confiabilidade e a qualidade do conteúdo disponível para os usuários do seu site. Isso contribui para a satisfação dos usuários, a reputação do seu site e a fidelidade da comunidade.
Portanto, recomendo que você mantenha o processo de aprovação por parte de um administrador. Essa abordagem equilibra a autonomia dos usuários com a necessidade de garantir informações confiáveis e relevantes para todos os visitantes do site e inclusive, é uma prática muito utilizada no mercado.
Todavia, caso ainda sim queira dar ao usuário o poder de publicação, segue os códigos abaixo para serem adicionados em templates/receitas/cria_receita.html
e apps/receitas/views/receita.py
na função cria_receita
:
templates/receitas/cria_receita.html:
<div class="form-check">
<input type="checkbox" mutiple class="form-check-input" id="publicada" name="publicada" value="{{ True }}">
<label class="form-check-label" for="publicada">Publicar Receita</label>
</div>
apps/receitas/views/receita.py em cria_receita
:
def cria_receita(request):
if request.method == 'POST':
nome_receita = request.POST['nome_receita']
ingredientes = request.POST['ingredientes']
modo_preparo = request.POST['modo_preparo']
tempo_preparo = request.POST['tempo_preparo']
rendimento = request.POST['rendimento']
categoria = request.POST['categoria']
foto_receita = request.FILES['foto_receita']
if 'publicada' in request.POST:
publicada = request.POST['publicada']
else:
publicada = False
user = get_object_or_404(User, pk=request.user.id)
receita = Receita.objects.create(pessoa=user,
nome_receita=nome_receita,
ingredientes=ingredientes,
modo_preparo=modo_preparo,
tempo_preparo=tempo_preparo,
rendimento=rendimento,
categoria=categoria,
foto_receita=foto_receita,
publicada=publicada)
receita.save()
return redirect('dashboard')
else:
return render(request, 'receitas/cria_receita.html')
Após realizar as mudanças, salve os arquivos editados e inicie o servidor.
Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.
Em caso de dúvidas estou à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!