【发布时间】:2015-09-19 20:46:42
【问题描述】:
我有一个 Django 应用程序。在视图中,我调用了另一个函数(在 stats.py 中),然后它会发出 HTTP POST。
views.py
from stats import Stat
a = Stat(example="12345")
a.use(id='query')
stats.py
self.data = { example : "12345" }
req = urllib2.Request(api_url)
req.add_header('Content-Type', 'application/json')
response = urllib2.urlopen(req, json.dumps(self.data))
出现的问题是我得到了错误,
<django.utils.functional.SimpleLazyObject object at 0x2b4d1fe47650> is not JSON serializable
Django 回溯
通过查看 Django Traceback,我得到以下信息,
/prod/tools/lx/views.py in update_input
a.use(id='query')
...
/prod/tools/main/stats.py in log_use
response = urllib2.urlopen(req, json.dumps(self.data))
...
/usr/local/lib/python2.7/json/__init__.py in dumps
return _default_encoder.encode(obj)
...
/usr/local/lib/python2.7/json/encoder.py in encode
chunks = self.iterencode(o, _one_shot=True)
...
/usr/local/lib/python2.7/json/encoder.py in iterencode
return _iterencode(o, 0)
...
/usr/local/lib/python2.7/json/encoder.py in default
raise TypeError(repr(o) + " is not JSON serializable")
...
有什么想法吗?
谢谢,
【问题讨论】:
-
为什么这被标记下来,并投票赞成关闭?
-
什么是
self.data? -
stats.py 中的类