django的ajax对应前端的瀑布流方法

html

{% load xx %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

    <div>

    </div>
    <style>
        .clearfix:after{
            content: '.';
            visibility: hidden;
            height: 0;
            clear: both;
            display: block;
        }
        .c1{
             245px;
        }
        .c1 img{
             245px;
            height: 200px;
        }
    </style>

    <div id="container" style="margin: 0 auto; 980px;" class="clearfix">

        <div style=" 245px;float: left">

        </div>

        <div style=" 245px;float: left">

        </div>

        <div style=" 245px;float: left">


        </div>

        <div style=" 245px;float: left">


        </div>
    </div>

    <script src="/static/js/jquery-2.1.4.min.js"></script>
    <script>
        $(function () {
            $.ajax({
                url: '/student1/',
                type: 'POST',
                dataType: 'json',
                success: function (arg) {
                    //arg = JSON.parse(arg);
                    // arg = JSON.stringify(arg)
                    $.each(arg, function (k,v) {
                        k = k + 1;
                        var div = document.createElement('div');
                        div.className = 'c1';
                        var img = document.createElement('img');
                        img.src = "/" + v.student__pic;
                        var p = document.createElement('p');
                        p.innerText =  v.letter_of_thanks;
                        div.appendChild(img);
                        div.appendChild(p);
                        if(k%4 == 1){
                            $('#container').children(':eq(0)').append(div);
                        }else if(k%4 == 2){
                            $('#container').children(':eq(1)').append(div);
                        }else if(k%4 == 3){
                            $('#container').children(':eq(2)').append(div);
                        }else if(k%4 == 0){
                            $('#container').children(':eq(3)').append(div);
                        }else{

                        }
                    })
                }
            })
        })
    </script>
</body>
</html>
html

views

def student1(request):

    if request.method == 'POST':
        detail_list = models.StudentDetail.objects.filter(student__status=1).values('letter_of_thanks', "student__name",
                                                                                    "student__salary",
                                                                                    'student__company', 'student__pic')
        detail_list = list(detail_list)
        return HttpResponse(json.dumps(detail_list))
    # student
    # studentDetail
    # detail_list = models.StudentDetail.objects.filter(student__status=1).values('letter_of_thanks',"student__name","student__salary",'student__company', 'student__pic')
    return render(request,'student1.html')
views
原文地址:https://www.cnblogs.com/renfanzi/p/5840164.html