这篇文章是对django web中photo gallery的实现思路的总结,理解别人的思路,对自己以后要实现会有很大的帮助。
不管你在设计网站还是做任何事情,思路很重要,比如从哪里到哪里怎么连接,下面说一下photo gallery这个例子的思路。
首先功能上主要显示主页,显示图片夹列表,图片夹里面图片的列表,和显示具体的图片内容,共四层。
对应到数据库的设计上就是要有一个photo的表还有一个图片夹的表,这已经能够满足上述四层的显示的要求了,除了显示之外,那接下来一个重要的事情是编辑要显示的内容,虽然这一部分的思路是在显示之后,但是在写代码的时候,这一部分是要先实现的,这也是做一件事情的一般流程,当还在准备计划的时候,先想个大概,我要做什么,然后再细想一步步怎么做,是由表到里。反过来等到你要去做这个事情等时候就是不一样的流程了,先把一个个细节做好,然后再搭到一起就是一个完整的计划的实现了。回到编辑功能上,django admin提供了很好的架构,我们只要把model在admin中注册一下就可以,至于更详细的在admin中的显示的方式,一样可以在注册的时候一并指定,另外还有一个,图片要特别处理,因为图片本身放到数据库里面可能不是很合适的,并且图片的上传修改涉及到的协议处理也蛮烦,django也考虑到了这个问题,提供了Image Field封装,这个很好用,你只要指定一下要放的文件夹的位置,其他的就当作一个普通的数据库的一项就行了。就这样我们就可以修改要显示的内容了。出于效率的考虑在显示对时候我们可能要用到图片的thumbnail,对图片的thumb的切割在python中可