Django笔记---项目报错之“xxx is not JSON serializable”

1. 错误说明:   

在 Django 项目中,我们会用到 Session,比如:购物车项目中,就会用 Session 来保存一个商品对象。但是,当我们的 Django 版本高于等于 1.6 时(本人的是 1.8 的),使用 Session 来保存一个 Object 就会出现如下错误: XXX is not JSON serializable。


2. 错误原因:

因为自从 Django1.6 版本开始,Session 的使用就发生一些变化,使得我们在使用 Session 来保存一个 Object 时,会出现上述 JSON 序列化的错误。


3. 解决办法:

我们可以修改 settings.py 这个 Django 的配置脚本,添加 SESSION_SERIALIZER 这一配置,使得我们可以在Django 1.6 或者更高的版本中像是在 1.6 以前的版本中一样进行代码编辑工作。

settings.py:

# 解决JSON序列化问题
SESSION_SERIALIZER  = 'django.contrib.sessions.serializers.PickleSerializer'

配置完毕后,就可以在 template 中使用形如 {{ request.session.product.price }} 的形式来使用 Session 中的数据了


    

你可能感兴趣的:(python,web开发,django)