在JQuery中使用Django上下文变量

时间:2016-05-16 12:04:16

标签: jquery json django

我很难在Jquery中使用Django模板变量。具体来说,我无法弄清楚它是否是一个JSON对象?

这是我的代码:

HTML:

{% for task in task_table %}    
    <tr task = '{{task}}' style = 'cursor:pointer'>

jQuery的:

$(function () {

    $('#taskTable tr').click(function()
    {
        task_to_update =  $(this).attr('task');
        alert (task_to_update.auth_user__last_name);

task_to_update看起来像这样(对不起,排长队):

"{'auth_user__last_name': u'\u041c\u043a\u0440\u0442\u0447\u044f\u043d', 'task__date_end': datetime.datetime(2016, 5, 16, 0, 0), 'auth_user_id': 4L, 'task_id': 223L, 'auth_user__first_name': u'\u0422\u0438\u0433\u0440\u0430\u043d', 'task__initiator__first_name': u'\u042d\u0434\u0433\u0430\u0440', 'task__description_short': u'\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430\u044f \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432', 'task__status_id': 1L}"

......以及在Django视图中定义任务的方式:

task_table = TaskResponsiblePeople.objects.values('task_id',
                                                       'auth_user_id',
                                                       'task__description_short',
                                                       'task__date_end',
                                                       'task__initiator__first_name',
                                                       'task__status_id',
                                                       'auth_user__first_name',
                                                       'auth_user__last_name') 

我甚至不知道我是否应该首先将其解析为JSON? JSON.parse(task_to_update)给了我错误VM5580:1 Uncaught SyntaxError: Unexpected token ' in JSON at position 1。我是这个Django + JQuery架构的新手,请带我一起为我提出任何解决方案!

1 个答案:

答案 0 :(得分:0)

这是无效的JSON:它是一个Python dict,这不是一回事。

您没有展示足够的视图,但在将其发送到模板之前,您当然应该将其转换为JSON。