Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro de NoReverseMatch mesmo seguindo o fluxo, tentei soluções online e nada.

Mesmo após apagar a linha em menu.html continua dando o erro. Creio que ele não esteja achando ou conseguindo jogar o id na url.... enfim segue a url.py

from django.urls import path, NoReverseMatch
from . import views

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

views.py

from django.shortcuts import render, get_list_or_404, get_object_or_404
#
#
#
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)

Retornando erro : File "/home/lukas/aplicacao/venv/lib/python3.6/site-packages/django/urls/resolvers.py", line 673, in reversewith_prefix raise NoReverseMatch(msg) django.urls.exceptions.NoReverseMatch: Reverse for 'receita' with no arguments not found. 1 pattern(s) tried: ['(?P[0-9]+)$']

#PSC: A linha de

  • em menu.html ja foi retirada do mesmo arquivo.

2 respostas

Fala Lucas, tudo bem?

Muito obrigado por compartilhar seu código, porém fiquei com uma dúvida:

Porque importou no url.py o seguinte módulo: NoReverseMatch.

Observe que no código desta aula, não faço o import deste módulo.

Se puder, pode por gentileza remover este import e tentar executar o projeto mais uma vez, nos falando o resultado.

: )

solução!

Olá, eu havia tentado solução no stackOverflow kkkk, ainda assim não tinha funcionado, mas debuguei o código e achei a solução.

<a href="{% url 'receita' receita.id %}">

Faltava o receita.id ao lado da url =D, vlw