前言
最近文章更新明显放缓,一方面最近自己娃有晚睡的倾向,把我夜里仅有的2个小时时间压缩的更少了,仅有的时间还在同时写两个项目的代码。。另外最近写程序进入了copy/paste阶段,就是主要技术障碍都扫清了,剩下的都是重复再重复的体力活,暂时没有新鲜的东西给大家Share。
正文
闲话少说,我们还是以任务为导向,介绍一下这个App的使用。
(感觉这个APP的广告词写的挺好,Forms have never been this crispy)
上次我们讲了
Django-tables2进行表格展示
,使用它可以方便建立部门列表如下:
(图1)
本次的任务就是对部门进行创建或者编辑。我们在上图列出的公司部门列表中,点击创建或者编辑按钮,可进入详细操作界面,进行部门的新建或已有部门内容的更新。
第一步 安装django-crispy-forms
在Settings中
第二步 创建Form
Helper可以很方便的使用Div进行页面重排。
form_class定义为horizontal,就是这种效果:
(图2)
第三步 写url,经过验证,create&update可以写在一起。
第四步 完善view,这里经过多次代码优化,创建和编辑都收到一个funciton中了。窍门就是Create时候传参值0,Update传参id。
第五步 前端的template
最终效果如下:
(图3)
第六步 不喜欢Div的同学请看这里
有一个很好用的django-widget-tweaks,使用也很简单,在安装后,模板中加入
然后就可以使用了,form里面的field的render使用如下,这样可以完全自主定制前端,很强大。
第七步 后续优化
其实每一个template都一样,可以类似后台Admin的方式,多个create&update模板,抽象成一个模板。