ValueError:格式错误的字符串?

时间:2013-11-21 09:49:01

标签: python django

le“/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py”,第111行,在get_response中     response = callback(request,* callback_args,** callback_kwargs)

文件“/usr/local/lib/python2.6/dist-packages/django/contrib/auth/decorators.py”,第23行,在_wrapped_view中     return view_func(request,* args,** kwargs)

文件“/home/ubuntu/django-apps/project_name/../project_name/apps/accounts/decorators.py”,第44行,在inner_decorator中     return func(request,* args,** kwargs)

文件“/home/ubuntu/django-apps/project_name/../project_name/apps/reports/views.py”,第97行,in hiv_report_new     return form.get_itable(pk)

文件“/home/ubuntu/django-apps/project_name/../project_name/apps/reports/forms.py”,第433行,在get_itable中     custom_data = ast.literal_eval(report_qs [0] ['query'])

文件“/usr/lib/python2.6/ast.py”,第68行,在literal_eval中     return _convert(node_or_string)

文件“/usr/lib/python2.6/ast.py”,第63行,在_convert中     在zip(node.keys,node.values))

文件“/usr/lib/python2.6/ast.py”,第62行,in     为k,v

返回dict((_ convert(k),_ convert(v))

文件“/usr/lib/python2.6/ast.py”,第63行,在_convert中     在zip(node.keys,node.values))

文件“/usr/lib/python2.6/ast.py”,第62行,in     为k,v

返回dict((_ convert(k),_ convert(v))

文件“/usr/lib/python2.6/ast.py”,第67行,在_convert中     提出ValueError('格式错误的字符串')

ValueError:格式错误的字符串

2 个答案:

答案 0 :(得分:1)

从文档到ast.literal_eval

  

安全地评估表达式节点或包含Python的字符串   表达。提供的字符串或节点可能仅包含以下内容   Python文字结构:字符串,数字,元组,列表,dicts,布尔值,   没有。

该函数的重点在于您只能使用内置数据类型。 datetime.date不是一个。

答案 1 :(得分:0)

您是否尝试将literal_eval与包含“datetime.date”的字符串一起使用?这会导致错误

>>> import ast
>>> ast.literal_eval("datetime.date(2013, 11, 23)")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "ast.py", line 80, in literal_eval
    return _convert(node_or_string)
  File "ast.py", line 79, in _convert
    raise ValueError('malformed string')
ValueError: malformed string