2012-07-26 70 views
1

是否有任何方法可以從django視圖創建RESTful api調用?從django視圖調用REST API

我想從django視圖通過一個URL傳遞標題和參數。我從半小時內使用Google搜索,但無法找到任何有趣的內容。

任何幫助,將不勝感激

+0

歡迎堆棧溢出!我們鼓勵你[研究你的問題](http://stackoverflow.com/questions/how-to-ask)。如果你已經[嘗試了某些東西](http://whathaveyoutried.com/),請將其添加到問題中 - 如果沒有,請先研究並嘗試您的問題,然後再回來。 – 2012-07-26 06:52:52

+0

我期待這個評論....... – user1481793 2012-07-26 06:53:52

+3

然後,你應該考慮它時,問你的問題。 – 2012-07-26 06:54:57

回答

8

當然有。您可以使用urllib2.urlopen,但我更喜歡requests

import requests 

def my_django_view(request): 
    if request.method == 'POST': 
     r = requests.post('https://www.somedomain.com/some/url/save', params=request.POST) 
    else: 
     r = requests.get('https://www.somedomain.com/some/url/save', params=request.GET) 
    if r.status_code == 200: 
     return HttpResponse('Yay, it worked') 
    return HttpResponse('Could not save data') 

的請求庫是在urllib3頂一個非常簡單的API,你需要知道如何使用它,可以發現here提出請求的一切。

+0

怎麼樣發佈和更新......? – user1481793 2012-07-26 07:23:40

+0

那麼標題和參數呢? :) – 2012-07-26 07:24:57

+1

Sheesh,我會最終到達那裏:-)我會留下問題的標題自己'解決'。標題在請求.META。你不想只盲目地把所有東西都傳遞出去。請求的關鍵字arg是'headers',所以你可以做請求(headers = request.META),但它看起來有點棘手,因爲請求長度和類似的東西在頭文件中。 – aychedee 2012-07-26 07:32:54