我在views.py中写道
from django.shortcuts import render
from .models import Polls
def top(request):
data = Polls.objects.order_by('-created_at')
return render(request,'index.html',{'data':data})
def detail(request):
data = Polls.objects.order_by('-created_at')
return render(request,'detail.html',{'data':data})
在urls.py中
from django.conf.urls import url
from django.conf import settings
from django.conf.urls.static import static
from . import views
urlpatterns=[
url('top/', views.top, name='top'),
url('detail/<int:pk>/', views.top,name='detail'),
]
index.html中的
<main>
{% for item in data %}
<h2>{{ item.title }}</h2>
<a href="{% url 'detail' item.pk %}">SHOW DETAIL
</a>
{% endfor %}
</main>
在models.py
中from django.db import models
class Polls(models.Model):
title = models.CharField(max_length=100)
detail = models.TextField()
当我访问top方法时, 在/ app / top /的NoReverseMatch 反转&#39;详细信息&#39;参数&#39;(1,)&#39;未找到。尝试了1种模式:[&#39;民意调查/详细信息//&#39;]错误发生。我想我可以通过item.pk访问对象的号码,但是它错了吗?我重写了{{ 1}}但是同样的错误发生了。我该如何解决这个问题?我的代码有什么问题?
答案 0 :(得分:0)
您已创建了应用,例如它的名字是&#39; myapp&#39;并且您为应用指定了一些网址
url(r'^myapp/', include('myapp.urls', namespace='myapp', app_name='myapp'))
因此,当您想要调用此应用程序中的某个网址时,您应该将其称为
<a href="{% url 'myapp:detail' item.pk %}">SHOW DETAIL </a>