Django |不使用类别过滤问题

Django |不使用类别过滤问题,django,Django,不使用类别筛选问题的Web。 错误在哪里? 谢谢 模板 {% for categoria in categorias %} <a href="{{ url 'preguntas'}}/{{ categoria.id }}"><p>{{ categoria.categoriaEUS }}</p></a> {% endfor %} 视图.py class Pregunta(models.Model): categori

不使用类别筛选问题的Web。 错误在哪里? 谢谢

模板

 {% for categoria in categorias %}
       <a href="{{ url 'preguntas'}}/{{ categoria.id }}"><p>{{ categoria.categoriaEUS }}</p></a>
    {% endfor %}
视图.py

class Pregunta(models.Model):
    categoria = models.ManyToManyField(Categoria, null=True, blank=True)
    textoES = models.TextField(null=True, blank=True)
    textoEUS = models.ManyToManyField(Euskara, null=True, blank=True)


class Categoria(models.Model):
    categoriaES = models.CharField(max_length=50, null=True, blank=True)
    categoriaEUS = models.CharField(max_length=50, null=True, blank=True)  
 def pregunta_list(request,categoria_id):
        preguntas = Pregunta.objects.filter(categoria='categoria_id').order_by('id')
        paginator = Paginator(preguntas,1)
        page = request.GET.get('page')
        preguntas = paginator.get_page(page)
        return render(request, 'pregunta/pregunta.html', {'preguntas': preguntas})

    def categoria_list(request):
        categorias = Categoria.objects.all()
        return render(request, 'pregunta/categoria.html', {'categorias': categorias})
path('',
    views.pregunta_list,
    name='preguntas/<int:pk>/',
),
url.py

class Pregunta(models.Model):
    categoria = models.ManyToManyField(Categoria, null=True, blank=True)
    textoES = models.TextField(null=True, blank=True)
    textoEUS = models.ManyToManyField(Euskara, null=True, blank=True)


class Categoria(models.Model):
    categoriaES = models.CharField(max_length=50, null=True, blank=True)
    categoriaEUS = models.CharField(max_length=50, null=True, blank=True)  
 def pregunta_list(request,categoria_id):
        preguntas = Pregunta.objects.filter(categoria='categoria_id').order_by('id')
        paginator = Paginator(preguntas,1)
        page = request.GET.get('page')
        preguntas = paginator.get_page(page)
        return render(request, 'pregunta/pregunta.html', {'preguntas': preguntas})

    def categoria_list(request):
        categorias = Categoria.objects.all()
        return render(request, 'pregunta/categoria.html', {'categorias': categorias})
path('',
    views.pregunta_list,
    name='preguntas/<int:pk>/',
),
路径(“”, views.pregunta_列表, name='preguntas/', ),
您不能输入参数和名称,因为构建的路径将不包含该参数。如果稍后用户访问该链接,则该参数不存在

因此,您应该创建具有以下内容的路径:

path(
    'preguntas/<int:categoria_id>/',
    views.pregunta_list,
    name='pregunta_list'
),
路径(
“preguntas/”,
views.pregunta_列表,
name='pregunta_list'
),
在模板中,您可以使用以下内容呈现url:

{% for categoria in categorias %}
       <a href="{% url 'pregunta_list' categoria_id=categoria.id %}"><p>{{ categoria.categoriaEUS }}</p></a>
{% endfor %}
{categorias%}
{%endfor%}
您还在视图中使用了字符串文字而不是标识符:

def pregunta_list(request, categoria_id):
    preguntas = Pregunta.objects.filter(categoria=categoria_id).order_by('id')
    paginator = Paginator(preguntas,1)
    page = request.GET.get('page')
    preguntas = paginator.get_page(page)
    return render(request, 'pregunta/pregunta.html', {'preguntas': preguntas})
def pregunta_列表(请求,分类id):
preguntas=Pregunta.objects.filter(categoria=categoria\u id).order\u by('id'))
paginator=paginator(preguntas,1)
page=request.GET.GET('page')
preguntas=paginator.get_第页(第页)

返回render(请求'pregunta/pregunta.html',{'preguntas':preguntas})
谢谢。但是它说:/gaiak/preguntas/1处的ValueError/int()无效,以10为基数:“categoria_id”再次感谢Willem Van Onsem;)但它显示:找不到代表“preguntas”的NoReverseMatch at/gaiak/gaiak/Reverse“preguntas”不是有效的视图函数或模式名称。@朱利安:是的,应该是
preguntas\u列表
。谢谢大家,威廉·范·昂森。我是Django的新手。我喜欢它