gpt4 book ai didi

Django 测试 client.get() 返回 302 代码而不是 200

转载 作者:行者123 更新时间:2023-12-03 14:03:54 25 4
gpt4 key购买 nike

在 url 上运行测试返回 302 而不是 200。但是在生产中使用重定向测试器测试相同的 url 返回 200。不确定发生了什么。

测试.py

def test_detail(self):
response = self.client.get('/p/myproduct-detail.html')
self.assertEqual(response.status_code, 200)

网址.py
    url(r'^p/(?P<slug>[-\w\d]+).html$', main.views.product_detail, 
name='product-detail'),

View .py
def product_detail(request, slug):
stuff...
return render(request, 'product-detail.html', {})

如果我添加 follow=Trueclient.get()我按预期收到了 200 个代码。

最佳答案

打印 response['location'] 的值在您之前的测试中assertEqual线。它将显示客户端被重定向到的位置(例如登录页面)。

def test_detail(self):
response = self.client.get('/p/myproduct-detail.html')
print(response['location'])
self.assertEqual(response.status_code, 200)

关于Django 测试 client.get() 返回 302 代码而不是 200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47696103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com