使用django-crispy-forms心得

前言

最近文章更新明显放缓,一方面最近自己娃有晚睡的倾向,把我夜里仅有的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模板,抽象成一个模板。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180625G1WT4P00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券