我正在检查自定义中间件中有效令牌的请求标头。
styles["men"]
似乎工作正常,但是我通过设置带有有效令牌值的标头HTTP_TOKEN并设置200响应来阻止编写测试。
我的样本测试代码
class CustomTokenAuthentication(object):
def process_request(self, request):
access_token = request.META.get('HTTP_TOKEN', '')
if AccessToken.objects.filter(token=access_token).exists():
return None
else:
# return None
res = HttpResponse("Invalid token", status=401)
res["WWW-Authenticate"] = "Invalid Token"
return res
似乎总是失败。
答案 0 :(得分:4)
Django将CUSTOM-HEADER重命名为HTTP_CUSTOM_HEADER。当您发送HTTP_TOKEN
时,它会在HTTP_HTTP_TOKEN
字典中重命名为request.META
。检查标题的简单方法是打印request.META
并检查控制台或在检查前插入pdb
断点并检查request.META
字典 - {{3} }。所以试试:
resp = self.client.get(reverse('productlist'),
**{'TOKEN':'8742627sdfsdfsf4e3423dsd23'})
我建议您限制线路长度,这样人们就不必水平滚动来阅读您的代码。 PEP-8规定了80个字符的限制。