NoReverseMatch:找不到'testimonypost'的反向。 'testimonypost'不是有效的视图函数或模式名称

时间:2019-01-07 08:17:18

标签: django

我不知道这一点。我尝试了不同的尝试,但没有成功。注释掉urls.py中的app_name可以使我完美地进入页面。关于app_name我应该知道些什么? 有任何想法吗? views.py附件如下。任何帮助表示赞赏。谢谢!

 #models.py
    class Testimony(models.Model):
        title = models.CharField(max_length=100)

        def get_absolute_url(self):
           return reverse("Testimony:details", kwargs={"id": self.id} )

    #urls.py
    app_name='Testimony'
    urlpatterns=[
    path('testimonypost/', views.TestimonyOrderView, name='testimonypost'),]


    #template(traceback points to this line)
    <li><a href="{% url 'testimonypost'%}" class="glyphicon glyphicon-grain">&nbspTestimonies</a></li>

#views.py
def TestimonyOrderView(request):
    queryset_list=Testimony.objects.annotate().order_by('timestamp')

    paginator = Paginator(queryset_list, 20)
    page_request_var="page"
    page=request.GET.get(page_request_var)
    try:
        queryset=paginator.page(page)
    except PageNotAnInteger:
            queryset=paginator.page(1)
    except EmptyPage:
        queryset=paginator.page(paginator_num.pages)


    return render(request, 'testimony_post.html', {'queryset_list':queryset_list})

1 个答案:

答案 0 :(得分:1)

模板中的url部分错误。它必须是:{% url 'Testimony:testimonypost' %} 使用名称空间后,必须在URL中使用应用程序名称。

查看此内容:https://docs.djangoproject.com/en/2.1/topics/http/urls/#reversing-namespaced-urls