2014-06-13 67 views
1

我有一個從ajax調用的函數getCode,並返回HttpResponse(json.dumps({'code': 2}))。我有一種情況是從另一個Python函數內部調用該函數來努力堅持DRY。我試圖訪問的HttpResponse在if聲明此功能其他像這樣:在python中解析Django HttpResponse

x = getCode(request) 
if x['code'] == 2: 
    # do stuff 

如何分析在Python中HttpResponse對象,這樣我可以在訪問數據的字典?

回答

0

它的字典訪問這樣的:

if x['code'] == 2: 
1

它並沒有真正好聽的,正確的有創建HttpResponse的開銷,並呼籲其他蟒蛇功能的看法。這裏有一個代碼設計和結構問題。

提取生成數據視圖到單獨的函數邏輯:

def my_view(request): 
    data = get_data() 
    return HttpResponse(json.dumps(data), mimetype='application/json') 

然後,直接調用該函數,而不是觀點:

x = get_data() 
if x['code'] == 2: 
    ... 

這樣你就不需要首先將數據轉儲到JSON,製作一個HttpResponse,再次將響應內容加載到python數據結構中。

希望對你有意義。