2011-09-02 49 views

回答

1

你需要直接联系服务器还是将用户重定向到那里?

# contacting server directly 
import urllib, urllib2 

url="https://server/endpoint" 
headers ={'User-Agent': 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'} 
data = urllib.urlencode({'datafield1': data1, 'datafield2': data2}) 

request = urllib2.Request(url, data, headers) 
response = urllib2.urlopener(request).open() 

为了让用户在那里,通常的想法是让用户点击一个按钮,发布正确的信息。我们通常伪装成“确认订单”按钮。

这既可以与隐藏在正确的领域和所有领域的Django的形式实现:

class HiddenForm(Form): 
    param1 = TextField(initial_hidden=True) 
    param2 = textField(initial_hidden=True) 

<form action="https://server/endpoint" method="POST"> 
    {{form.hidden_fields}}<input type="submit" value"Confirm Order"> 
</form> 
+0

托马斯,肯定它只是后者。我在寻找更复杂的东西,也许它就像你发布一样简单。 – bytejunkie

+1

我已经做了一些非常类似于后者的东西。表单对象,所有charfields,但是隐藏,然后在init中,更新字段,构建crypt字段并让用户单击send。 – bytejunkie