[英]Cant use JsonResponse in Django
我有一堆值,我想将它们从views.py
函数发送到Django中的模板。 我看到一些主题,最好的方法是使用json
格式。 所以我照做了。 但是因为我的值不是ascii
所以我使用的升级版本在正常的Http response
起作用,但在JSON response
不起作用。
这是我的代码
base = {weather_main_key : weather_main_values, wind_speed_key : wind_speed_value + "m", wind_deg_key : wind_deg_value, base_temp_key : base_temp_value + " ℃", base_press_key : base_press_value + " mbar", base_hum_key : base_hum_value + " % " }
base = json.dumps(base, ensure_ascii=False).encode('utf8')
return JsonResponse(json.dumps(base))
所以我有一个错误味精
In order to allow non-dict objects to be serialized set the safe parameter to False.
所以我照了
JsonResponse(json.dumps(base, safe=False, ensure_ascii=False).encode('utf8'))
现在的错误是
__init__() got an unexpected keyword argument 'safe'
而且我不能动...
哇, 三重编码。 你为什么要这么做?
您序列化为json。 然后,在对JsonResponse的调用内,您再次序列化为json。 但是JsonResponse本身会进行序列化,因此您已经进行了三次序列化。
别搞了; 只需将字典传递给JsonResponse。
base = {weather_main_key : weather_main_values, wind_speed_key : wind_speed_value + "m", wind_deg_key : wind_deg_value, base_temp_key : base_temp_value + " ℃", base_press_key : base_press_value + " mbar", base_hum_key : base_hum_value + " % " }
return JsonResponse(base)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.