前面文章里的Python和Django知识点很重要,但过于零散。我们学习最终的目的还是应用。我们今天就来看下如何利用Django仿制微信朋友圈的九宫格相册。本教程比较长,会分成2部分发布,欢迎持续关注。我们会分享所有代码,并详细解读。读者需要对Python,Django, HTML, CSS和Javascript有一定的了解,否则读起来会比较吃力。
项目总体思路
对于此项目,我们总体开发思路是这样子的。
用户在后台先创建相册,再上传图片。一个相册可以包含多张图片。
对于单个相册,用户通过后台可以逐一上传单张图片或一次性上传压缩过的ZIP格式的图片包。
用户上传的图片先调整成指定大小和格式再存储,同时生成缩略图存储。
前端两个页面:一个展示相册列表,一个展示相册详情(包含所有图片)。
前端缩略图通过九宫格显示给用户。当用户点击缩略图时,可以查看大图和放大。
用户点击大图可以左右滑动查看上一张和下一张图片(触屏滑动效果)。
图片是responsive的,大小随着浏览器尺寸变化而变化。
项目预期效果
展示相册列表
展示相册详情(微信朋友圈九宫格)
点击缩略图,显示大图,左右滑动。
项目开发所需安装包
除了Django 2.0, 你还需要通过pip安装pillow和django-imagekit两个库。pillow是python的图片库。django-imagekit可以对图片进行尺寸调整,生成缩略图或加水印。因为本项目主要是对图像进行操作,所以安装这两个库是必需的。
下面我们将正式开始本项目的教程。