TypeError Django上下文使用自定义类

2024-04-18 17:01:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我是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_modeluser_settings都是从django的models.Model(在创建和使用上下文类之前分配)派生的类。我得到以下错误:

TypeError at /settings
<playground.ajax_processing.ajax_user_session instance at 0x263fab8> is not JSON serializable

有人知道怎么解决这个问题吗?我可以指定“普通”变量,如字符串、整数,但我不想在字典中添加一些内容,我只想使用一个大类。你知道吗

谢谢你。你知道吗


Tags: djangonone模板密码datetimemodelsettingssession
1条回答
网友
1楼 · 发布于 2024-04-18 17:01:09

试试这个:

from django.forms.models import model_to_dict
context = RequestContext(request, {
    'test' : model_to_dict(myClass),
})

有时model_to_dictdatetime有问题,因此您可能需要用model_to_dict(myClass, exclude=time_login)排除该字段,然后手动设置该字段。你知道吗

相关问题 更多 >