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

Exception Value: The 'foto_receita' attribute has no file associated with it.

Erro durante a execução da pagina: ValueErrorTrecho do código onde o erro ocorreureceitas\models.py

from datetime import datetime
from django.db import models
from pessoas.models import Pessoa

class Receita(models.Model):
    pessoa = models.ForeignKey(Pessoa, on_delete=models.CASCADE)
    nome_receita = models.CharField(max_length=200)
    ingridientes = models.TextField()
    modo_preparo = models.TextField()
    tempo_preparo = models.IntegerField()
    rendimento = models.CharField(max_length=100)
    categoria = models.CharField(max_length=100)
    date_receita = models.DateTimeField(default=datetime.now, blank=True)
    foto_receita = models.ImageField ( upload_to = 'fotos/%d/%m/%Y/' , blank = True )
    publicada = models.BooleanField(default=False)

receitas\views.py

from gc import get_objects
from django.shortcuts import render, get_list_or_404, get_object_or_404
from .models import Receita

def index(request):
    receitas = Receita.objects.order_by('-date_receita').filter(publicada=True)   

    dados = {   
        'receitas': receitas
    }

    return render(request,'index.html', dados)

def receita(request, receita_id):
    receita = get_object_or_404(Receita, pk=receita_id)
    receita_a_exibir = { 
        'receita' : receita
    }

    return render(request, 'receita.html', receita_a_exibir)

alurareceita\setttings.py

# Media
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

alurareceita\urls.py

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('', include('receitas.urls')),
    path('admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

![C:\Users\marci\aplicacao\media\fotos\05\09\2022\bolochocolate.jpg](https://cdn1.gnarususercontent.com.br/1/1304374/5c7656b9-5f27-4b9d-9fe7-d4075b57f5ec.png)

Por favor, consegue ver onde errei?

At.

Marcia

1 resposta
solução!

Olá, tudo bem com você?

O erro erro de valor (ValueError) está sendo levantado devido não ter sido encontrado um arquivo que possa ser associado ao atributo foto_receita. Esse erro está acontecendo devido a comparação do atributo receita com receita.foto_receita o valor null.

Para que o erro seja corrigido, será necessário realizarmos uma modificação no arquivo receitas/templates/index.html na linha 38 (conforme a primeira imagem com o log do erro), devemos mudar a declaração do código Python, devemos comparar o atributo receita.foto_receita com uma string (duas aspas simples).

Arquivo: receitas/templates/index.html Linha: 38

{% if receita.foto_receita == '' %}

Modificando a linha adicionando a comparação com uma string vazia (duas aspas simples), basta salvar o arquivo iniciar o servidor e acessar o site.

Fico à disposição em caso de dúvidas.

Abraços e bons estudos.

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

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software