我是python和django的新手,我正在尝试将一个类传递给模板中的RequestContext
。所以我有这个代码:
context = RequestContext(request, {
'test' : myClass,
})
myClass就是这样的一个例子:
class ajax_user_session():
user_model = None
user_settings = None
time_login = datetime.datetime.now()
user_model
和user_settings
都是从django的models.Model
派生的类(在创建和使用上下文类之前分配)。我收到以下错误:
TypeError at /settings
<playground.ajax_processing.ajax_user_session instance at 0x263fab8> is not JSON serializable
请问有人知道如何解决这个问题吗?我可以分配“普通”变量,如字符串,整数,但我不想在字典中添加几个东西,我只想使用一个大类。
谢谢。
答案 0 :(得分:0)
试试这个:
from django.forms.models import model_to_dict
context = RequestContext(request, {
'test' : model_to_dict(myClass),
})
有时model_to_dict
datetime
出现问题,因此您可能需要使用model_to_dict(myClass, exclude=time_login)
排除该字段,然后手动设置。