用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()用于字典。用于将详细信息带到模板的内容。
答案 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工作以来已经有点长了,我上面可能错了,但是你知道它应该如何完成。