如何使用json django检索表数据

时间:2013-11-16 07:51:23

标签: python ajax django json

用json学习ajax。从模板我可以使用ajax将数据带到视图,并可以将给定的值存储在表中。我想使用json从表中检索数据。

views.py

def disptable(request):
    if 'name' and 'age' in request.GET:
        n=request.GET['name']
        a=request.GET['age']
        tablestoreajax(name=n,age=a).save()
    d="wowwwww"
    return render(request,"tablestore.html",json.dumps(d))

models.py

class tablestoreajax(models.Model):
    name=models.CharField(max_length=20)
    age=models.IntegerField(default=0)

模板文件

<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#sub').click(function(){
        var na=$('#id1').val()
        var ag=$('#id2').val()
         var dataString = {name:na,age:ag};
    $.ajax({
        type:'GET',
        data:dataString,
      datatype:'json',
        url:'/disptable/',
        success:function(data) {
        alert(data.a);
      }
  });
    });

    });
</script>
</head>
<body>
name<input type="text" id="id1" name="name1">
age<input type="text" id="id2" name="age1">
<input type ="submit" id="sub" value="save">
</body>
</html>

在我的视图中,我使用了json.dumps() - 但我读到dumps()用于字典。用于将详细信息带到模板的内容。

1 个答案:

答案 0 :(得分:0)

  

在我的视图中,我使用了json.dumps() - 但我读到dumps()用于字典。用于将详细信息带到模板的内容。

您需要实际将变量(通过字典)从view.py传递给模板。

#view.py
def disptable(request):
    ..
    ..
    d="wowwwww"
    return render(request,"tablestore.html",{"jsonVal":json.dumps(d)})

在模板中,根据需要使用它。例如,要将上面的JSON值传递给javascript变量,请使用:

<script type="text/javascript">
var jsonValFromServer = {{ jsonVal }};
</script>

在页面加载时(在浏览器中),查看HTML源代码以验证上述内容。

PS:自从我在django工作以来已经有点长了,我上面可能错了,但是你知道它应该如何完成。