2010-07-12 28 views
1

我已被分配爲使用Django構建的現有Web服務創建RESTful Android應用程序。什麼是爲現有Web應用程序創建應用程序訪問URL的優雅方式?

我目前的設計思路是讓Android應用程序接收通常會發送到每個url上的Django模板的JSON數據。所以我認爲看起來像:

#The site stores and organizes user's medical experiences by allowing search of 
# what treatments have been effective for a particular condition 
treatment_for_condition = {'treatment' : treatment, 'condition' : condition} 
if send_as_json : 
    return HttpResponse(json.dumps(treatment_for_condition),mimetype='application/json') 
else: 
    t = loader.get_template('results.html') 
    return HttpResponse(t.render(treatment_for_condition)) 

有沒有一種優雅的方式來設置「send_as_json」變量?我考慮了以下兩個策略:

1)添加預選賽所有URL的末尾,以便 /條件/處理/返回網頁 和 /條件/處理/ JSON =真會回來嗎?一個JSON對象

2)創建一個子域json.treatmentreport.com,將「send_as_json」變量設置爲true,然後分派到相同的視圖,就好像它在www域中一樣。

這些解決方案可以優雅地實現嗎?或者我是以完全錯誤的方式進行討論的?

回答

2

我讀了你的問題,我認爲建議的方法來解決您現有的設置,而不是我會盡量先回答你的問題的頭:

「什麼是創建應用程序訪問一種優雅的方式現有Web應用程序的URL?「

退房django-piston

活塞是一個相對較小的Django應用程序,讓您 爲您的網站創建的應用程序編程接口(API)。

它有幾個獨特的功能:

  • 關係進入Django的內部機制。
  • 開箱即用支持OAuth(以及基本/摘要或自定義身份驗證)
  • 不需要綁定到模型,允許任意資源。
  • 說JSON,YAML,Python的泡椒& XML(和HATEOAS) 附帶了一個方便的可重複使用的庫在Python
  • 尊重和鼓勵正確使用HTTP的(狀態碼,...)
  • 已建成(可選)表單驗證(通過Django),節流等。
  • 支持流式處理,內存佔用量小。
  • 堅持不懈。
+0

活塞石!谷歌爲「RESTful小馬」 – Javier 2010-07-12 01:45:22

+0

真棒,非常感謝:) – Josiah 2010-07-12 06:03:54

相關問題