django 测试客户端得到 404,但浏览器可以工作

ZG1*_*101 3 testing django django-testing django-tests

我可以通过我的网络浏览器 ( http://127.0.0.1:8983/solr)访问本地地址以查看 Solr 管理员(搜索 web 应用程序)。

但是,通过 Django (1.7) 测试客户端,我得到:

>>> from django.test import Client  
>>> c = Client()  
>>> response = c.get('http://127.0.0.1:8983/solr')  
>>> response.status_code  
404
Run Code Online (Sandbox Code Playgroud)

为什么 Django 不能连接到与我的浏览器相同的地址?

ale*_*cxe 5

您应该提供相对 URLget()

c.get("/solr/") 
Run Code Online (Sandbox Code Playgroud)

这记录在测试工具页面:

检索页面时,请记住指定 URL 的路径,而不是整个域。例如,这是正确的:

c.get('/login/') 
Run Code Online (Sandbox Code Playgroud)

这是不正确的:

c.get('http://www.example.com/login/')
Run Code Online (Sandbox Code Playgroud)