ajax之异步渲染

点击老师 用ajax渲染老师的学生

这是展示效果

![在这里插入图片描述](https://img-blog.csdnimg.cn/201905101621495.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N1X3poZW5faHVh,size_16,color_FFFFFF,t_70

#  视图函数展示所有老师
def show_t(request):
    data=models.Teacher.objects.all()
    return render(request,'san/five.html',locals())	

#  视图函数 用来渲染学生
def show_s(request,id_):
    data=models.Teacher.objects.all()
#  查询模板页面 传来的当前老师的id 
   teacher=models.Teacher.objects.filter(id=id_)
# 将结果集转换成json  前提 结果集必须是可迭代的 
from django.core import serializers
   var=serializers.serialize('json',teacher,ensure_ascii=False)  
#  将查询结果返回给ajax
   return HttpResponse(var)
	#  接下来是模板页面
    <p><h1>所有老师</h1></p>
	# 循环取出 每个老师名称 
  {% for i in data %}
    <button id="{{i.id}}" >   {{i.name}}  </button>
    {% endfor %}

	#  定义一个p标签 用来ajax渲染数据
	<p id="content">


	#   ajax代码

	<script>

    $(document).ready(function(){
	#   给老师button按钮 添加点击事件
        $('button').click(function(){
	#   当点击老师名称 获取老师当前id
            var id = this.id
            $.ajax({
	#  将id传给视图函数
                url:'/wu/show_s/' + id + '/',            
	#   指定get请求   
                type:'get',
	#  如果成功获取到视图函数返回的数据
                success:function(result){
	#  就将获取到的json数据解析
                    val = JSON.parse(result)
	#  定义一个变量 等于空字符串
                    var str = ""
	#  循环取出数据
                    for (let index = 0; index < val.length; index++) {
	#  取出每个name值 并加上换行  赋值给str
                        str += "姓名:" + val[index]['fields']['name'] + "<br>"
                        str += "年龄:" + val[index]['fields']['age'] + '<br>'
                        str += '<hr>'
                    }
	#  将 取出的内容 渲染到 上面的p标签内
                    $('#content').html(str)
                }
            })
        })
    })

	script

当点击老师一号 效果如下

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190510163802256.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N1X3poZW5faHVh,size_16,color_FFFFFF,t_70

往期推荐

爬虫学习之selenium

django框架学习之分页

机器学习之绘图

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值