淘汰表中的Django链接

淘汰表中的Django链接,django,knockout.js,Django,Knockout.js,我读过这篇文章:和其他几个人一起 但是,我遗漏了一些东西,或者没有采取正确的方法。我已经为我的问题包含了相关的代码块。我试图使用knockout生成的表来更新任务或删除任务。拆卸部件工作正常。我正在尝试将更新链接到用于更新任务的另一个页面。我不知道我需要做什么才能使更新列中的链接正常工作 对于如何将url放入传递给KO模型的字典列表中,我尝试了几种不同的方法。有什么建议可以引导我朝正确的方向走吗?如果我遗漏了任何信息,请告诉我。多谢各位 Views.py def TaskList(request

我读过这篇文章:和其他几个人一起

但是,我遗漏了一些东西,或者没有采取正确的方法。我已经为我的问题包含了相关的代码块。我试图使用knockout生成的表来更新任务或删除任务。拆卸部件工作正常。我正在尝试将更新链接到用于更新任务的另一个页面。我不知道我需要做什么才能使更新列中的链接正常工作

对于如何将url放入传递给KO模型的字典列表中,我尝试了几种不同的方法。有什么建议可以引导我朝正确的方向走吗?如果我遗漏了任何信息,请告诉我。多谢各位

Views.py

def TaskList(request, job_id):
    job_tasks = Tasks.objects.filter(parent=job_id)

    tasks_list = []
    for task in job_tasks:
        task_row = {}
        task_row['task_id'] = task.task_id
        task_row['t_name'] = task.name
        task_row['date'] = task.date_created
        task_row['state'] = task.state
        task_row['url'] = '{% url tracking:update_task task_id=task.task_id %}'
        tasks_list.append(task_row)

    json_tasks = json.dumps(tasks_list)

    if request.POST:
        json_data = request.POST.get('json_blob')
        obj = loads(json_data)

        task.task_id = obj.get("task_id")
        remove_task = Tasks.objects.get(task_id=task.task_id)
        remove_task.delete()

        messages.success(request, 'Task removed')
HTML


名称
日期
陈述
更新
去除
更新
去除
{%block javascript\u variables\u nocompress%}
window.TASKS={{json_TASKS | safe}};
{%endblock%}
{%block javascript_compress%}
$(函数(){
var RemoveTaskModel=函数(){
var self=这个;
self.tasks=ko.observearray(window.tasks);
self.remove_task=函数(任务){
self.tasks.remove(任务);
$(“#json_blob”).val(ko.toJSON(task));
}
}
ko.applyBinding(新RemoveTaskModel());
});
{%endblock%}

HTML

我将使用
反向
对每个任务的URL进行反向查找:

from django.core.urlresolvers import reverse

def TaskList(request, job_id):
    job_tasks = Tasks.objects.filter(parent=job_id)

    tasks_list = []
    for task in job_tasks:
        ...
        task_row['url'] = reverse('update_task', args=(),
            kwargs={'task_id': task_id})
然后您的ObservalArray应该能够将属性从JSON绑定到锚标记。您可能还注意到,在代码示例中,td的格式不正确:

<td a class="btn" data-bind="attr: {href: url}">Update</a></td>
更新
应该是:

<td><a class="btn" data-bind="attr: {href: url}">Update</a></td>

<td><a class="btn" data-bind="attr: {href: url}">Update</a></td>