【问题标题】:Еhere was an error while adding url to testЕhere 在添加要测试的 url 时出错
【发布时间】:2026-01-18 15:15:01
【问题描述】:

当我转移到测试url时,弹出错误:

未找到“电影”的反向。 'movie' 不是有效的视图函数或模式名称。

这是我的自测:

class BooksApiTestCase(APITestCase):
def setUp(self):
    self.movie_1 = Movie.objects.create(title="terminator", year="1990", rating="5",url="retminator")
    self.movie_2 = Movie.objects.create(title="robocop", year="1991", rating="4",url="robocop")
    self.movie_3 = Movie.objects.create(title="rembo", year="1992", rating="3",url='rembo')

def test_get(self):
    url = reverse('movie')
    print(url)
    response = self.client.get(url)
    serializer_data = MovieListSerializer([self.movie_1, self.movie_2, self.movie_3], many=True).data
    self.assertEqual(status.HTTP_200_OK, response.status_code)
    self.assertEqual(serializer_data, response.data)

这是我的网址:

    urlpatterns = format_suffix_patterns([
path("movie/", views.MovieViewSet.as_view({'get': 'list'})), 

【问题讨论】:

    标签: python python-3.x django unit-testing django-rest-framework


    【解决方案1】:

    您好@Andrew,欢迎使用 *。

    要使用reverse(),您必须在urlpatterns 中正确设置视图的名称

    urlpatterns = format_suffix_patterns([
        path("movie/", views.MovieViewSet.as_view({'get': 'list'}, name='movie')
    ]),
    

    参考official documentation

    【讨论】:

      最近更新 更多