首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django使用同一个模板实现新增和编辑

Django使用同一个模板实现新增和编辑 记录使用同一个html模板实现组织机构的新增和编辑,并对重名内容进行验证。

这篇文章与

使用django-crispy-forms心得

中的例子代码类似,可以结合参考,本文代码与之相比,主要增加了验证部分以及crispy自定义layout。

同时可以参考Django-tables2进行表格展示,基本上就能了解Django增删改查功能的一种实现了。

一、定义Url

通过id参数区分新增和编辑,id为0则是新增,其他则是编辑。

二、模板中的更新与创建按钮

模板名称:create_update_unit.html,通过bCreate控制显示更新或者创建。

三、Form与Model的创建

讲解:

1.增加了一个字段is_update,感知自己是更新状态还是新建状态。

四、View中的实现

讲解:

1.根据unit_id判断是更新还是新建,0就是新建,同时设置了bCteate的值。

2.根据bCreate,界面就会显示新建或者更新按钮。

3.OrgUnitForm如果是更新,就要用instane=cur_org_unit赋值,界面上就直接将这个model的各种值显示出来。

4.创建OrgUnitForm时要告知它自己是更新还是新建。

五、验证unit是否已经存在表单验证一般在form中用clean,验证逻辑如下:

新建,如果组织机构下存在重名,提示报错。

更新,排除自己后,如果组织机构下存在重名,提示报错。

六、调用

用新建调用举例,编辑和删除类似

七、效果

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券