我試圖在Django的視圖中接收JSON作爲REST服務。我知道REST有非常發達的庫(例如Django REST Framework)。但我需要使用Python/Django的默認庫。在Django視圖中接收JSON輸入的最佳做法是什麼?
回答
request.POST
由django預處理,所以你想要的是request.body
。使用JSON解析器來解析它。
import json
def do_stuff(request):
if request.method == 'POST':
json_data = json.loads(request.body)
# do your thing
這導致'TypeError:JSON對象必須是str,而不是'bytes''在Python 3 – gtd
@ gtd謝謝!你需要先解碼它:'json.loads(request.body.decode(「utf-8」))';有關更多詳細信息,請參閱http://stackoverflow.com/questions/29514077/get-request-body-as-string-in-django。 –
發送給使用HttpResponse
無需刷新網頁瀏覽器的響應。
views.py
from django.shortcuts import render, HttpResponse,
import simplejson as json
def json_rest(request):
if request.method == "POST":
return HttpResponse(json.dumps({'success':True, 'error': 'You need to login First'}))
else:
return render(request,'index.html')
urls.py
(r^'/','app.views.json_rest')
客戶端:
$.ajax({
type:"post",
url: "/",
dataType: 'json',
success: function(result) {
console.log(result)
}
});
您正在討論回覆。爲響應我具有以下機構: \t'@json \t DEF feed_one(請求,ID): \t \t樣品= get_object_or_404(樣品,PK = ID) \t \t返回sample' –
哪裏@json是裝飾和外觀是這樣的: '高清JSON(FN): \t高清封裝(請求,* ARGS,** kwargs): \t \t嘗試: \t \t \t fn_result = FN(請求,* ARGS,** kwargs) \t \t \t json_result = { 'is_successful':真, '消息':無, '數據':fn_result} \t \t除了例外爲e: \t \t \t如果DEBUG: \t \t \t \t加註Ë \t \t \t json_result = { 'is_successful':假, '消息':e.message, '數據':無} \t \t返回的HttpResponse(to_json(json_result),MIME類型= '應用/ JSON') \t返回wrapper' 現在我正在寫響應hadnling機制,並需要類似上面代碼的東西。 –
@KenanBek我已更新我的編輯 – dhana
- 1. 添加視頻背景視圖的最佳做法是什麼?
- 2. 最佳做法是什麼?
- 3. Views中的視圖 - 什麼是最佳做法
- 4. 在JSP中呈現JSON數據的最佳做法是什麼?
- 5. 支付網頁密碼輸入的最佳做法是什麼?
- 6. 控制多個視圖的最佳做法是什麼?
- 7. 什麼是與容器視圖溝通的最佳做法
- 8. 改變視圖狀態的最佳做法是什麼?
- 9. 什麼是在Django中剖析視圖的最佳方式?
- 10. 在laravel 5中寫入代碼的最佳做法是什麼?*
- 11. 收到C2DM消息後做什麼工作的最佳做法是什麼?
- 12. 在Unity 3D中調試觸摸輸入的最佳做法是什麼?
- 13. 在asp.net中輸入一堆數據的最佳做法是什麼?
- 14. log4cxx的最佳做法是什麼?
- 15. 什麼是ViewModel的最佳做法
- 16. 在Django視圖中檢索和使用ContentTypes的最佳做法
- 17. 在Codeigniter中顯示多個視圖的最佳做法是什麼?
- 18. Django元數據庫的最佳做法是什麼?
- 19. 測試JSON數據的最佳做法是什麼?
- 20. 從其他活動獲取JSON的最佳做法是什麼
- 21. Nginx和runit ....什麼是最佳做法
- 22. WCF休息 - 最佳做法是什麼?
- 23. ASP.NET緩存,什麼是最佳做法
- 24. 在Android上緩存圖像的最佳做法是什麼?
- 25. 在Android上使用SVG圖標的最佳做法是什麼?
- 26. 當我從API接收Laravel的通知數據時,最佳做法是什麼?
- 27. 在Robot Framework中連接多個輸入參數的最佳方法是什麼?
- 28. 在nodejs中同步接受命令行輸入的最佳方法是什麼?
- 29. 什麼是觸發javascript的鏈接的最佳做法
- 30. 在網頁上保持JSON數據最新的最佳做法是什麼?
'request.POST'? –
他們,POST和GET –