如何用Django测试客户端指定IP地址?

Ric*_*nop 14 django

我正在使用Django测试客户端测试API.API使用地理阻止,所以在我的测试中我需要指定一个IP地址以确保它正常工作.我怎样才能做到这一点?

我在我的测试中提出这样的请求:

from django.test.client import Client as HttpClient
.
.
.
client = HttpClient()
response = client.get(uri + query_string)
Run Code Online (Sandbox Code Playgroud)

Ala*_*air 17

Client.get()方法有一个extra关键字参数参数,可用于指定标题.

c.get(/my-url/, REMOTE_ADDR="127.0.0.1") 
Run Code Online (Sandbox Code Playgroud)


bak*_*048 6

在构造函数中传递REMOTE_ADDR.

client = HttpClient(REMOTE_ADDR='127.0.0.1')
Run Code Online (Sandbox Code Playgroud)

要么

client.get('/path/', {'param':'foo'}, **{'HTTP_USER_AGENT':'firefox-22', 'REMOTE_ADDR':'127.0.0.1'})
Run Code Online (Sandbox Code Playgroud)