在python2.6.6中,如何捕获异常的错误消息.

即:

response_dict = {} # contains info to response under a django view.
try:
    plan.save()
    response_dict.update({'plan_id': plan.id})
except IntegrityError, e: #contains my own custom exception raising with custom messages.
    response_dict.update({'error': e})
return HttpResponse(json.dumps(response_dict), mimetype="application/json")

这似乎不管用.我得到了:

IntegrityError('Conflicts are not allowed.',) is not JSON serializable

推荐答案

先过str().

response_dict.update({'error': str(e)})

还要注意,某些异常类可能具有给出确切错误的特定属性.

Django相关问答推荐

如何使用Django';S生成的字段来统计相关对象?

在/Contact-Agent/Get()返回的多个对象返回了多个属性--它返回了2

Django:添加第二个';详细';用于检索额外信息的视图

在Django ORM中引用非主外键

try 获取静态文件路径时 Django 给出错误

如何在Django管理自定义筛选器中包含自定义模型方法?

将两个视图重定向到具有不同 url id Django 的一个模板的正确方法

Django:获取每组最新的N条记录

在 django 中使用自定义 url 转换器传递 url 参数

Django 模型中的隐藏字段

django 管理员登录突然要求 csrf 令牌

Django 1.9 中 django.db.models.loading.get_model() 的类似功能是什么?

Django -- User.DoesNotExist 不存在?

Django 删除未使用的媒体文件

Django - 无法为具有动态 upload_to 值的 ImageField 创建迁移

Django 不调用模型清理方法

如何在 Django 1.9 中删除 DB (sqlite3) 以从头开始?

django 应用基于条件的样式类

Django Admin - save_model 方法 - 如何检测字段是否已更改?

Django 中的自定义 HTTP 标头