2014-06-13 38 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数据结构中。

希望对你有意义。