我似乎无法在代码中发现错误,并且已经尝试了所有方法。这可能是一件简单的事情,使我无法逃脱。请帮忙!任何插补表示赞赏。此处是新的Django学习者。
#views.py
def details(self, Testimony_id):
Testimony=get_object_or_404(Testimony, pk= Testimony_id)
return render(request, 'details.html', {'Testimony': Testimony})
#template
<header class="w3-container w3-blue">
<h1><a href="{% url 'Testimony:details' Testimony.id %}">{{Testimony.Title}}</h1>
</header>
#urls.py
app_name='Testimony
urlpattern=[
...
re_path('<int:id>/', views.detail, name='details'),]
#models.py
class Testimony(models.Model):
...
def get_queryset(self):
return Testimony.objects.all()
def __str__(self):
return self.title
def __str__(self):
return str(self.id)
#forms.py
class TestimonyForm(forms.Form):
body = forms.CharField(label='Details', widget=forms.Textarea)
答案 0 :(得分:0)
我认为问题是您的网址路径看起来像id,但函数参数Testimony_id。
像这样改变。
re_path('<int:Testimony_id>/', views.detail, name='details'),]
答案 1 :(得分:0)
只需将其更改为
def details(self, pk):
testimony=get_object_or_404(Testimony, pk=pk)
return render(request, 'details.html', {'testimony': testimony})
<header class="w3-container w3-blue">
<h1><a href="{% url 'Testimony:details' pk=testimony.id %}">{{testimony.Title}}</h1>
</header>
urlpattern=[
...
re_path('<int:pk>/', views.detail, name='details'),]
它将起作用。