如何使用django发送POST请求?

zjm*_*126 29 python django urllib2

我不想使用html文件,但只有django我必须发出POST请求.

就像urllib2发送get请求一样.

gla*_*xly 32

urllib2和urllib的方法组合将起到作用.以下是我使用这两种方式发布数据的方法:

post_data = [('name','Gladys'),]     # a sequence of two element tuples
result = urllib2.urlopen('http://example.com', urllib.urlencode(post_data))
content = result.read()
Run Code Online (Sandbox Code Playgroud)

urlopen()是一种用于打开网址的方法. urlencode()将参数转换为百分比编码的字符串.


Ric*_*ohr 30

以下是使用以下方法编写已接受答案示例的方法python-requests:

post_data = {'name': 'Gladys'}
response = requests.post('http://example.com', data=post_data)
content = response.content
Run Code Online (Sandbox Code Playgroud)

更直观.有关更简单的示例,请参阅快速入门.


laj*_*rre 6

你现在唯一应该看的东西:

http://docs.python-requests.org/en/latest/


Gab*_*aru 5

可以urllib2在 Django 中使用。毕竟,它仍然是python。要发送POSTwith urllib2,您可以发送data参数(取自此处):

urllib2.urlopen(url[, 数据][, 超时])

[..] 当提供数据参数时,HTTP 请求将是 POST 而不是 GET