我以前在Django中配置过很多次url模式。
突然它不起作用了,我不知道为什么。。。在
我使用Django REST框架,并使用Django的RequestFactory测试API。
这是我的URL模式:
url(r'^samples/(?P<sha256>\w+)/?$', endpoints.SampleAPI.as_view())
以下是我测试GET请求的方法:
^{pr2}$这就是我要做的:
class SampleAPI(APIView):
def get(self, request: Request, *args, **kwargs) -> Response:
sha256 = self.kwargs.get('sha256', None)
URL得到解析,我进入该方法,但是由于某些原因,sha256
总是None
(这个kwargs
字典总是空的!)。
奇怪的是,我在我正在开发的另外两个服务中做了完全相同的事情(只是关键字参数的另一个名称),而且它们都起作用了。在
你们看到我遗漏了什么吗?在
编辑:更新了帖子,展示了我是如何测试url的
好吧,这是个愚蠢的错误,我没想到。在
我不应该在测试中使用
RequestFactory
,因为参数不会以这种方式传递给视图。正确的方法是使用Django的测试
Client
:很抱歉这里的新手错误。在
相关问题 更多 >
编程相关推荐