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

Aula 05 - Atividade "Ajudado alguém", alternativas incoerentes.

Na atividade "ajudando alguém", aula 05 do curso de Django, temos o seguinte enunciado:

--- INÍCIO DO ENUNCIADO ---

Ao longo do curso de Django da Alura, uma das pessoas matriculadas se deparou com um comportamento estranho ao acessar a página em desenvolvimento, que exibiu o seguinte comportamento:

O trecho de código da index:

<div class="receipe-content">
    <a href="{% url 'receita' receita.id %}">
        <h5>{{ receita.nome_receita }}</h5>
    </a>
</div>

O trecho de código da views.py:

def receita(request):
    receita = get_object_or_404(Receita, pk=receita_id)

    receita_a_exibir = {
        'receita' : receita
    }

O trecho de código da urls.py:

urlpatterns = [
    path('', views.index, name='index'),
    path('<int:receita_id>', views.receita, name='receita')
]

A partir disso, onde está o erro e porque temos este comportamento?

--- FIM DO ENUNCIADO ---

E as seguintes alternativas (para marcar as 3 corretas):

A. A solução seria alterar a função receita passando o id argumento.

B. Este erro ocorre por conta do código encontrado no views.py.

C. Este erro ocorre por conta do código encontrado no index.html.

D. Este erro ocorre por conta do código encontrado no urls.py.

E. A solução seria alterar a tag de <h5>{{receita.nome_receita}}</h5> para <h5>{{receita.nome_receita == receita_id}}</h5>

F. A solução seria adicionar como argumento da função receita, o receita_id.

Segundo o gabarito, as alternativas A, B e F são as corretas. No entanto, não concordo com a A, pois o nome do argumento é receita_id, e não id (e aliás é exatamente isso o que a alternativa F versa). Inclusive na explicação da resposta da alternativa A, aparece essa figura, mostrando o receita_id:

Na explicação das alternativas A e F, aparecem em ambas esse texto:

Certo! É necessário indicar o id da receita como argumento da função. Dessa forma, o erro não ocorrerá mais.

No entanto, apenas na alternativa A temos a figura.

Pode até ser que seja um problema de interpretação de texto da minha parte, mas se for esse o caso, talvez a redação da alternativa A mereça uma revisão, até porque expressão "passando o id argumento" não está escrita num português bem claro. Eu havia interpretado isso como se a A quisesse dizer que o nome do argumento deveria ser id (em contraste com a F que diz que deveria ser receita_id), e não que a A apenas estava dizendo que um argumento referente a algum tipo id estava faltando.

Na verdade, acredito que a alternativa A nem deveria estar ali, pois as alternativas B e F já são suficientes.

1 resposta
solução!

Fala Victor, como vai?

Muito obrigado pelo seu feedback neste execício. Faremos uma revisão detalhada nesta atividade.

: )