Kin*_*gFu 7 django django-urls django-tests
在 url 上运行测试返回 302 而不是 200。然而在生产中使用重定向测试器测试相同的 url 返回 200。不确定发生了什么。
测试.py
def test_detail(self):
response = self.client.get('/p/myproduct-detail.html')
self.assertEqual(response.status_code, 200)
Run Code Online (Sandbox Code Playgroud)
网址.py
url(r'^p/(?P<slug>[-\w\d]+).html$', main.views.product_detail,
name='product-detail'),
Run Code Online (Sandbox Code Playgroud)
视图.py
def product_detail(request, slug):
stuff...
return render(request, 'product-detail.html', {})
Run Code Online (Sandbox Code Playgroud)
如果我添加follow=True
到client.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)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2773 次 |
最近记录: |