在Django中运行测试时发生NoReverseMatch错误

asaepe 发布于 2019-03-09 django 最后更新 2019-03-09 14:31 0 浏览

我使用python django 我在运行tests.py时出错 那是什么意思 :

Traceback (most recent call last):
  File "/home/hala/Desktop/lasting/sharesoft-13/project/tager/tager_www/tests.py", line 82, in test_saving_comments
    response=c.get(reverse('adingcomment', kwargs={'post_id' : 1, 'content':'hjhgh'}))
  File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py", line 496, in reverse
    return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
  File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py", line 416, in _reverse_with_prefix
    "arguments '%s' not found." % (lookup_view_s, args, kwargs))
NoReverseMatch: Reverse for 'adingcomment' with arguments '()' and keyword arguments '{'content': 'hjhgh', 'post_id': 1}' not found.
已邀请:

est_et

赞同来自:

这意味着Django无法找到与该特定路径名和参数匹配的路由,因此无法通过反转路由生成URL。 也许adingcomment是一个错字,应该是addingcomment而不是?

cnisi

赞同来自:

reverse('adingcomment', kwargs={'post_id' : 1, 'content':'hjhgh'})无法找到URL路由。 也许您注册了addingcomment路线?您需要检查路由的名称和提供的参数,以匹配您注册的现有路由。有关更多详细信息,请参阅Reverse resolution of URLs文档。