2013-07-20 67 views
0

我試圖更新一個字段使用X可編輯但我不會讓它結束。X可編輯django和jquery yu

這裏是我的代碼:

#views.py 

def update_task(request, task_id): 
if request.is_ajax(): 
    task = request.GET.get('task') 
    updated_task = Task.objects.get(pk=task_id) 
    updated_task.task = task 
    updated_task.save() 
     return HttpResponse('true') 
else: 
    return HttpResponse('not ajax') 

#urls.py 

url(r'^update_task/(?P<task_id>\d+)/$', 'todo.views.update_task', name='update_task'), 

#html file 
<script> 
    $(document).ready(function() { 
    $("#task").editable({ 
     type: 'text', 
     pk: 144, 
     url: '/update_task/144/', 
     title: 'Enter task', 
     }); 
    }); 
</script> 

當我試圖更新控制檯給我:

鏈接/ update_task/144 404(未找到)

回答

1

我沒有看到你有一個url被定義來捕獲task_id

我認爲你需要在參數中輸入task_id,所以類似url + '?task_id=144

如果你這樣做,你需要改變你的JavaScript線,看起來像這樣:

url: '/update_task/' + '?task_id=144', 

,或者你需要離開它是,並且添加一行到您的網址的conf捕捉參數:

url(r'^update_task/(?P<task_id>\d+)/$', 'todo.views.update_task', name='update_task'), 

,然後在你的觀點:

def update_task(request, task_id=None):#if task_id is optional, set it to =None or something 
    if request.is_ajax(): 
     do stuff here with task_id 

也,你將需要拿出task_id = request.GET.get('task_id')

因爲task_id不在GET主體中。

+0

它在頁面上更新,但在數據庫中沒有:(我選擇修改url。任何想法爲什麼?我更新了代碼。 – jabez