2012-11-29 62 views
0

我正在做簡單的應用程序,它必須連接到外部REST api,在json中獲取數據並將其打印給用戶。我的問題是:如何讓模塊連接到外部REST API?

  1. 我應該在哪裏放置/創建一個連接到外部REST API的模塊?我的意思是我可以在連接到REST api的views.py中編寫一些代碼,並將結果傳遞給模板,但是我想在一些自治模塊中將它分開,我可以在views.py中使用它,例如myapimodule.get_devices(),它將連接從example.com/api/device/get獲取數據。我今天第一次嘗試python和django,所以我只想知道你在django應用程序中放置(以及如何)這樣的模塊?

  2. 如何使用django連接到RESTAPI?我有例如http認證的用戶名和密碼,以及像example.com/api/device/get這樣的地址 - django lib的哪些部分允許我使用restapi並從中檢索數據(採用json格式)?

回答

1
  1. 真的沒有 「正確」 答案。它只取決於你最需要的東西。

  2. 要連接到外部REST API,請查看優秀的Requests庫。

+0

這個請求lib不工作 - 我試圖從git repo下載它,然後把'requests'文件夾放在我的應用程序文件夾中,並在我的視圖中嘗試導入請求 - 有錯誤'無法導入名稱chardet'。我看着谷歌,它似乎是已知的問題,但無處不在,它適用於蟒蛇3,我使用Python 2.7 - 無法找到解決方案 - 任何線索? – user606521

+0

我們每天在我的工作中使用請求,通過點到我們的virtualenv(s)安裝。 – Brandon

+0

這會減慢整個應用程序,因爲每個請求都會阻止整個過程。 – bryanph

0

請求庫值得學習。它會爲你節省很多的痛苦。

你嘗試:

pip install requests 

pip install chardet 

過嗎?