django中瀑布流初探

img.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .w{
            width: 1000px;
            margin: 0 auto;
        }
        .item{
            width: 25%;
            float: left;
        }
        .item img{
            width: 100%;
        }
    </style>
</head>
<body>
    <div>姑娘们</div>
    <div class="w" id="container">

        <div class="item">11
        </div>
        <div class="item">22

        </div>
        <div class="item">33

        </div>
        <div class="item">44

        </div>
    </div>
    <script src="/static/jquery-1.12.4.js"></script>
    <script>
        $(function () {
            initImg();
        });
        NID = 0;
        function initImg() {
           $.ajax({
                url: ‘/get_imgs.html‘,
                type: ‘GET‘,
                data:{nid:NID},
                dataType: ‘JSON‘,
               success:function (arg) {
                    var img_list = arg.data;
                    $.each(img_list,function (index,v) {
{#        index,v,index是指的索引,v是指的内容                #}
                        var eqv = index % 4;
                        var tag = document.createElement(‘img‘);
                        tag.src = ‘/‘+ v.src;
                        $(‘#container‘).children().eq(eqv).append(tag);
                        //这里的eq是获取children里面的内容
                    })

               }

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

  

views

def imgs(request):
    # img_list = models.Img.objects.all()
    return render(request,‘img.html‘)

def get_imgs(request):
    nid = request.GET.get(‘nid‘)
    img_list = models.Img.objects.filter(id__gt=nid).values(‘id‘,‘src‘,‘title‘)
    img_list = list(img_list)
    ret = {
        ‘status‘: True,
        ‘data‘: img_list
    }
    # return HttpResponse(json.dumps(ret))
    return JsonResponse(ret)
    # return JsonResponse([11,22,33],safe=False)

models

class Img(models.Model):

    src = models.FileField(max_length=32,verbose_name=‘图片路径‘,upload_to=‘static/upload‘)
    title = models.CharField(max_length=16,verbose_name=‘标题‘)
    summary = models.CharField(max_length=128,verbose_name=‘简介‘)

    class Meta:
        verbose_name_plural = ‘图片‘
    def __str__(self):
        return self.title

原文地址:https://www.cnblogs.com/wenghao/p/11670633.html

时间: 2024-10-19 10:05:01

django中瀑布流初探的相关文章

Django 之瀑布流实现

需求分析 现在是 "图片为王"的时代,在浏览一些网站时,经常会看到类似于这种满屏都是图片.图片大小不一,却按空间排列,就这是瀑布流布局. 以瀑布流形式布局,从数据库中取出图片 每次取出等量(7 条)的图片,加载到页面 当滑轮滚动到最底端时,自动再加载图片 实现流程 以包形式管理模型 将图片自动上传到静态文件 static 前端页面每行排列四张图片(四个 div ) 当页面加载时,以 ajax 形式自动向后台发送请求,获取图片数据,再用 js 循环生成 img 标签添加到每个 div 中

飞流直下的精彩 -- 淘宝UWP中瀑布流列表的实现

在淘宝UWP中,搜索结果列表是用户了解宝贝的重要一环,其中的图片效果对吸引用户点击搜索结果,查看宝贝详情有比较大的影响.为此手机淘宝特意在搜索结果列表上采用了2种表现方式:一种就是普通的列表模式,而另一种则是突出宝贝图片的瀑布流模式. 如果用户搜索某些关键字,如女装类的情况下,淘宝的搜索结果会自动切换到瀑布流模式,让宝贝的美图更加冲击用户的视觉. 但是UWP默认的列表控件并没有这种效果,listview控件中虽然子元素可以不一样大小,但是只能有1列,gridview控件虽然有多列,但每个子元素都

js实现无限瀑布流

瀑布流 是一种常见的网页布局方式,在许多网站中我们都能看到“瀑布流”的效果,其特征是有网页视窗有多个高度不同宽度相同的“块”组成.因其样式酷似飞流直下的瀑布, 故将这种布局方式称为瀑布流. 生活中瀑布流实例: 花瓣网 在css中我们学习过使用Multi-columns来实现瀑布流的效果 通过 Multi-columns 相关的属性 column-count.column-gap 配合 break-inside 来实现瀑布流布局. 现在,我来介绍一下如何通过js方式来实现瀑布流 <!DOCTYPE

原生 JS 实现一个瀑布流插件

瀑布流布局中的图片有一个核心特点 -- 等宽不定等高,瀑布流布局在国内网网站都有一定规模的使用,比如pinterest.花瓣网等等.那么接下来就基于这个特点开始瀑布流探索之旅. 基础功能实现 首先我们定义好一个有 20 张图片的容器, <body> <style> #waterfall { position: relative; } .waterfall-box { float: left; width: 200px; } </style> </body>

安卓中的瀑布流

过年没回家,宅在家里看了很多博客,顺手写一下自己的一些收货.. android中的瀑布流的实现原理,来自郭大神的CSDN 转载注明出处http://blog.csdn.net/guolin_blog/article/details/10470797 实现原理:瀑布流的布局方式虽然看起来好像排列的很随意,其实它是有很科学的排列规则的.整个界面会根据屏幕的宽度划分成等宽的若干列,由于手机的屏幕不是很大,这里我们就分成三列.每当需要添加一张图片时,会将这张图片的宽度压缩成和列一样宽,再按照同样的压缩比

在 JQuery Mobile 中实现瀑布流图库布局

先来看在Windows系统的1080P显示器中显示的效果: 这个整合方式几乎没有现存的实例,是自己总结出来的方法,在此记录下来. 首先访问Masonry官网下载masonry.pkgd.min.js:http://masonry.desandro.com/ 将其整合到项目中,在页面中引入. 初始化id变量,让页面每次加载时的id都不同,避免 Ajax 加载时id重复造成难以察觉的错误. var id = "gallerycontent" + Guid.NewGuid(); 采用HTML

[转]android中最好的瀑布流控件PinterestLikeAdapterView

PinterestLikeAdapterView 项目地址:https://github.com/GDG-Korea/PinterestLikeAdapterView 使用方法类似于ListView下面是我使用该控件实现一个显示系统图片的简单应用: 1 <?xml version="1.0" encoding="utf-8"?> 2 <merge xmlns:android="http://schemas.android.com/apk/

PSCollectionView瀑布流实现

[-] 一基本原理 二具体实现 相关数据结构 视图更新方式 relayoutViews方法 removeAndAddCellsIfNecessary方法 select方法 重用数据块视图机制 三使用方法 四其他瀑布流实现 PSCollectionView是一个实现较简洁的仿Pinterest瀑布流iOS版实现,使用UIScrollView做容器,每列列宽固定,高度可变,使用方式类似UITableView.其效果如图: 一.基本原理 其基本实现原理为: 列数固定,根据列数每列存储一个当前列的高度值

自定义实现带文字标题的瀑布流效果

在网上能找到的大部分资料中的瀑布流效果都是单纯的照片实现,现在我来实现一个带文字标题的.效果如下: 每个item都是由图片和文字标题两部分组成. 布局方式为ScrollView里面嵌套一个水平方向的LinearLayout,里面再嵌套两个竖直方向的LinearLayout,然后判断竖直方向的两个LinearLayout的高度,向比较低的那个Linearlayout里面添加item. 下面是代码 <ScrollView xmlns:android="http://schemas.androi