2010-11-27 70 views
1

我是新來的客戶端 - 服務器端編程,所以我的問題可能是基本的。如何捕獲使用views.py從android發送到Django服務器的響應?

基本上,我試圖從JSON格式的數據發送到一個Django服務器。發送數據的代碼如下:

 try { 
    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
    HttpClient httpclient = new DefaultHttpClient(); 
    HttpPost httppost = new HttpPost("http://localhost:8000/androidweb/edit/"); 
     JSONObject j = new JSONObject(); 
     try { 
    j.put("name", "cdfe"); 
    } catch (JSONException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } 
    nameValuePairs.add(new BasicNameValuePair("year", j.toString())); 
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
    HttpResponse response = httpclient.execute(httppost); 
    }catch(Exception e) { 
    //catch the exception and print it 
} 

所以我的意圖是基本上調用代碼中提到的網址。我將url添加到Django urls.py中,以便我可以使用views.py類將上面輸入的JSON數據存儲在僅包含一個名爲「name」的字段的sqlite數據庫表中。但是,我不知道我的方法是否正確。我見過的大多數代碼示例都將數據傳遞給了一個php文件,所以我想知道是否可以通過python類views.py來完成它?

如果可能,請給我一個代碼示例,以在如何捕獲上述代碼發送的JSON數據的「views.py」中實現,並將其存儲在具有「名稱」字段的表中?

謝謝!

回答

1

通過POST發送的數據可通過request.POST獲取。嘗試檢查request.POST['year']

+0

@Matthew:你說`setEntity()`調用一個`UrlEncodedFormEntity`不會正確設置POST數據? – 2010-11-27 07:40:55

相關問題