Filer 怎么用才好?新手入门看这篇就够了!

天美租号

今天得说说我捣鼓 “filer” 这个东西的经历。起初,就是自己瞎折腾一个小网站项目,用的是Django框架。做着做着,发现处理用户上传的文件,比如图片、附件啥的,特别麻烦。

开始折腾

一开始没想那么多,就用Django自带的那个文件处理方式。用户一上传,文件就存到服务器某个犄角旮旯里。时间一长,文件越来越多,图片、文档混在一起,简直就是一锅粥。哪个文件对应哪个记录,有时候都得翻半天代码或者数据库才搞明白,路径管理也头疼。

Filer 怎么用才好?新手入门看这篇就够了!

更烦的是,想在后台管理界面里直观地看到和管理这些文件,还得自己写好多代码去实现预览、分类这些功能。动手能力是有,但就嫌麻烦,不喜欢重复造轮子。

实在受不了了,我就寻思,肯定有现成的轮子能用?就上网到处搜,关键词大概就是“Django 文件管理”、“Django 图片管理”之类的。搜来搜去,看到好几个推荐,其中就提到了一个叫 “filer” 的东西,好像是 `django-filer` 这么个玩意儿。

看介绍说,这东西就是专门帮 Django 应用管文件的,还能跟 Django 的后台管理(就是那个 Admin 界面)结合得很听起来好像挺对路,就决定试试看。

装上试试

那就开干呗。第一步,肯定是先把它上。我打开终端,敲了那行 `pip install` 命令,后面跟着 `django-filer` 还有它需要的一些依赖库,比如 `easy_thumbnails` 什么的,具体记不清了,反正照着文档来就行。

装完之后,就得去项目的配置文件 `*`。把 `filer` 还有那个 `easy_thumbnails` 加到 `INSTALLED_APPS` 列表里。这一步是告诉 Django:“我装了新家伙,你以后得认得它。”

Filer 怎么用才好?新手入门看这篇就够了!

还得一下数据库迁移命令,就是那个 `python * migrate`。这个命令会帮 `filer` 在数据库里创建它需要的表,用来存文件的信息啥的。

这几步做完,基础环境算是搭好了。我重启了一下我的开发服务器,然后登录到 Django 的后台管理界面去看效果。

用起来感觉

你别说,后台界面立马就出来一个“文件管理”或者类似名字的区域。点进去一看,嚯,界面还挺现代,挺直观的。可以创建文件夹对文件进行分类,上传文件也很方便,好像还能拖拽上传,比之前那个光秃秃的列表强太多了。

管理图片的时候,它还能自动生成不同尺寸的缩略图,这个功能简直太实用了!之前我自己搞缩略图都得写一堆代码,现在它直接给包办了,省心。

光在后台能管还不行,关键是要在我的应用代码里用起来方便。我就去了我的模型(*)。之前用的是 Django 自带的 `ImageField` 或者 `FileField`,现在就换成了 `filer` 提供的 `FilerImageField` 和 `FilerFileField`。

Filer 怎么用才好?新手入门看这篇就够了!

改完之后,在后台编辑数据的时候,选择文件或者图片就变成了从 `filer` 那个漂亮的文件管理器里选,而不是之前那个简陋的上传按钮。选中的文件信息也直接关联好了,用起来确实顺手多了。

效果

总的来说,用了这个 `filer` 之后,我那个小项目的文件管理这块儿,算是彻底告别混乱了。所有上传的文件都集中在 `filer` 的管理界面里,分类清晰,查找方便。代码层面,通过 `FilerImageField` 这些字段,关联和调用文件也变得特别简单直接。

虽然一开始安装配置也花了一点时间,但跟它后来节省的管理和开发时间比起来,这点投入简直太值了。以后再做类似的项目,需要处理文件上传和管理的,我肯定优先考虑用它。

这就是我这回捣鼓 `filer` 的一点实践记录,分享给大家,希望能有点用处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,55人围观)

还没有评论,来说两句吧...