3

我可以通过我的 Web 浏览器 ( http://127.0.0.1:8983/solr) 访问本地地址以查看 Solr Admin(搜索 webapp)。

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

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

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

4

2 回答 2

5

您应该提供相对URLget()

c.get("/solr/") 

这记录在测试工具页面:

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

c.get('/login/') 

这是不正确的:

c.get('http://www.example.com/login/')
于 2015-04-03T02:13:53.840 回答
1

添加到@alecxe 的答案中,您应该指定相对网址;reverse()用于获取 url的最佳实践:

from django.core.urlresolvers import reverse
from django.test import Client  
c = Client()

# assuming you've named the route 'solar'   
url = reverse('solar')
c.get(url)
于 2015-04-03T02:17:16.110 回答