我有一个从Ajax调用并返回getCode的函数HttpResponse(json.dumps({'code': 2}))。我有一种情况是从另一个Python函数内部调用此函数,以坚持使用DRY。我正在尝试在其他函数中的if语句中访问HttpResponse,如下所示:

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


如何在Python中解析HttpResponse对象,以便可以作为dict访问其中的数据?

最佳答案

创建HttpResponse并从其他python函数调用视图的开销真的听起来并不正确。这里的代码设计和结构问题。

将在视图中产生数据的逻辑提取到单独的函数中:

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数据结构中。

希望对您有意义。

关于python - 在python中解析Django HttpResponse,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24214701/

10-12 16:38