-1
I have the following error in Django:
Reverse for 'list_produtos' with Arguments '(2,)' not found. 1 Pattern(s) tried: ['$']
Follows the codes:
py.models
from django.db import models
from django.urls import reverse
class ListaManager(models.Manager):
def get_queryset(self):
return super(ListaManager, self).get_queryset().filter(disponivel = True)
class Departamento(models.Model):
nome = models.CharField(max_length = 25)
slug = models.SlugField(max_length = 100)
pf = models.TextField()
def _str_(self):
return self.nome
class Produto(models.Model):
nome = models.CharField(max_length = 50)
preco = models.DecimalField(max_digits = 100,decimal_places = 2)
estoque = models.PositiveIntegerField()
disponivel = models.BooleanField(default = False)
descricao = models.TextField()
departamento = models.ForeignKey(Departamento, related_name = 'departamento', null = True, on_delete = models.CASCADE)
numero_produto = models.CharField(max_length = 8)
slug = models.SlugField(max_length = 100)
lista = ListaManager()
def get_absolute_url(self):
return reverse('main:list_produtos', args = [self.id])
def _str_(self):
return self.nome
class dProduto(models.Model):
dp = models.ForeignKey(Produto, related_name = 'produto', null = True, on_delete = models.CASCADE)
py.
from django.urls import path
from .import views
from django.views.generic import TemplateView
app_name = 'main'
urlpatterns = [
path('', views.list_produtos, name = 'list_produtos'),
path('ajuda/', TemplateView.as_view(template_name = 'produtos/ajuda.html'),
name = 'ajuda'),
path('<int:p>', views.produtos_detail, name = 'produtos_detail'),
]
py views.
from django.shortcuts import render, get_object_or_404
from .models import Departamento, Produto
def list_produtos(request):
produtos = Produto.lista.all()
return render(request, 'produtos/list_produtos.html', {'produtos': produtos})
def produtos_detail(request, p):
produtos = get_object_or_404(Produto, id = p)
return render(request, 'produtos/produtos_datail.html', {'produtos': produtos})