我正在尝试学习django和Javascript(jquery,ajax)。 注意:我是这两种语言的新手(JAVASCRIPT和PYTHON)。 我的情景: 我有一个html表与一些提供商的信息。我插入了编辑表单的链接(基于模型的django表格)。我从html表中使用javascript函数获取提供程序的Id,并将此值作为参数传递给编辑表单。 这是获取提供者id的函数,将其作为参数传递并打开编辑表单:
<script type="text/javascript">
function param(){
$(function(){
var http = new XMLHttpRequest();
var tbl = document.getElementById("myTable");
var rows = tbl.rows;
var url = "/recepcion/";
for (var i = 0; i < rows.length; i++){
rows[i].onclick = function(){
idpro = this.cells;
ano = this.cells;
mes1 = this.cells;
$.ajax({
async: false,
type:"POST",
url: "/recepcion/",
datatype: "json",
data: ({idprov: idpro[0].innerHTML }),
success: function(data){
http.open("POST",url,true),
http.send(data)
}
});
}
}
});
}
</script>
这是我的django观点:
def RecepcionView(request):
idp = request.POST.get('idprov')
if request.method == 'POST':
r = DetalleRecepcion.objects.get(id_proveedor=idp,anio=anio,mes=mes)
form = RecepcionForm(request.POST, instance=r)
if form.is_valid():
form.save()
return HttpResponseRedirect('/monitor/')
else:
r = DetalleRecepcion.objects.get(id_proveedor=idp,anio=anio,mes=mes)
form = RecepcionForm(instance=r)
return render_to_response('recepcion.html',
{'form':form},
context_instance=RequestContext(request))
我收到错误: DetalleRecepcion匹配查询不存在。我知道这个错误意味着什么。没有记录与我的过滤器匹配。 我在firebug控制台中看到函数从html表中获取值将其传递给表单,但我不知道为什么会出现此错误并且不会呈现编辑表单。
我知道错误是noob错误。但是在这两种语言中是新的很难,因为我不知道错误是在django视图中还是在AJAX POST函数中。
我需要一点帮助。
谢谢