【问题标题】:Using Django context variable in JQuery在 JQuery 中使用 Django 上下文变量
【发布时间】:2016-05-16 12:04:15
【问题描述】:

我一直在尝试在 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 架构的新手,请多多包涵并提出任何解决方案!

【问题讨论】:

  • {{task}} 中的任务是字典吗?
  • 我已编辑问题以包含 Django 视图和 HTML 部分。

标签: jquery json django


【解决方案1】:

这不是有效的 JSON:它是一个 Python 字典,这不是一回事。

您的视图显示得不够多,但您当然应该在将其发送到模板之前将其转换为 JSON。

【讨论】:

    猜你喜欢
    • 2013-08-22
    • 1970-01-01
    • 2020-07-05
    • 2019-03-23
    • 2015-03-29
    • 1970-01-01
    • 2014-08-15
    • 2019-07-28
    • 1970-01-01
    相关资源
    最近更新 更多