Django |不使用类别过滤问题
不使用类别筛选问题的Web。 错误在哪里? 谢谢 模板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
{% 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的新手。我喜欢它