NoReverseMatch:找不到带有参数'('',)'的'details'的反转。尝试了2种模式:

时间:2019-01-08 17:30:23

标签: django

我似乎无法在代码中发现错误,并且已经尝试了所有方法。这可能是一件简单的事情,使我无法逃脱。请帮忙!任何插补表示赞赏。此处是新的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)

2 个答案:

答案 0 :(得分:0)

我认为问题是您的网址路径看起来像id,但函数参数Testimony_id。

像这样改变。

re_path('<int:Testimony_id>/', views.detail, name='details'),]

答案 1 :(得分:0)

只需将其更改为

views.py

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>

urls.py

urlpattern=[
...
re_path('<int:pk>/', views.detail, name='details'),]

它将起作用。