0
我有Django模板:home.html的頁面:刪除對象使用Ajax在Django不工作
<a href="#" class = "dept" contextmenu = "mymenu2" id = "{{d.dept.id}}" ><i class="fa fa-circle-o"></i> {{d.dept}} <i class="fa fa-angle-left pull-right"></i></a>
<ul class='custom-menu2'>
<p><a id = "add_emp">Add new Employee</a></p> <br>
<p><a class = "del_dept">Delete this Deptartment</a></p>
</ul>
<script>
var id;
$('.dept').mousedown(function(event) {
switch (event.which) {
case 3:
id = $(this).attr('id');
$('.del_dept').on('click',function(e){
if(e.handled !== true)
{
alert(id);
$.ajax({
type: "POST",
url: "del_dept",
data: { 'id':id },
success: function(response){
alert(response.success);
}
});
return false;
e.handled = true;
}
});
break;
}
});
</script>
views.py:
def del_dept(request):
department = Department.objects.get(pk = int(request.REQUEST['id']))
print department
print ("ABCD")
department.delete()
payload = {'success': True}
return HttpResponse(json.dumps(payload), content_type='application/json')
主要urls.py:
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^employee/', include('EmployeeManagement.urls')),
)
和EmployeeManagement.urls文件:
urlpatterns = [
# ex: /polls/
url(r'^$', views.home, name='home'),
url(r'^(?P<emp_id>[-\w]+)/$', views.get_employee, name='get_employee'),
url(r'^(?P<emp_id>[-\w]+)/(?P<status>[-\w]+)/$', views.change_status, name='change_status'),
url(r'save_dept$',views.save_dept, name = 'save_dept'),
url(r'save_emp$',views.save_emp, name = 'save_emp'),
url(r'del_dept$',views.del_dept, name = 'del_dept'),
]
不知道什麼是錯,Apprantly,當我點擊「刪除此部」按鈕,在特定部門的警報,但沒有任何反應後的ID。同樣在del_dept查看,我試圖打印部門和只是一些文本進行測試,但他們都沒有打印。
此外,雖然不是你的問題的一部分,我會建議使用[登錄所需的裝飾器](https://docs.djangoproject.com/en/1.8/topics/auth/default/#the-login-required-裝飾器)或其他裝飾器,以便用戶必須至少登錄才能開始從數據庫中刪除東西 – Sayse
它正在進入該del_dept視圖,但仍未打印「ABCD」和部門名稱。加上仍然沒有任何反應後,它提醒編號 –
@MirzaTaimoorBaig - 對不起,錯過了那一點,更新我的答案,你正在尋找錯誤的請求字典 – Sayse