代码之家  ›  专栏  ›  技术社区  ›  JChao

unittest中的Python Django url reverse返回404

  •  0
  • JChao  · 技术社区  · 6 年前

    网址:

    path('some/path_to/<int:special_id>/', some_views.someAPI.as_view(), name="someAPI")
    

    https://some_domain/some/path_to/1 ,我可以用 special_id=1

    但是,当我运行一个包含 reverse() 功能 special_id

    我在做什么

    url = reverse('someAPI', kwargs={'special_id': 1})
    request = self.factory.get(url)
    force_authenticate(request, user=self.user)
    response = someAPI.as_view()(request, special_id=1)
    

    它给了我一个404:当我期待一个200时没有找到

    编辑:

    save()

    2 回复  |  直到 6 年前
        1
  •  1
  •   Michele    6 年前

    在测试过程中,一个名为“test\u dbname”的新数据库被创建并立即刷新。必须在reverse()函数之前创建id为1的元素。

        2
  •  0
  •   HP Bruna    6 年前

    如果你这样做了呢:

    reverse('someAPI', args=[1]