V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Yunen  ›  全部回复第 7 页 / 共 7 页
回复总数  122
1  2  3  4  5  6  7  
2019-11-14 00:11:24 +08:00
回复了 Yunen 创建的主题 Python 问个小问题,关于 Django 的 Form 类
@676529483 自己写字段有点麻烦(项目有多个 Form),插件的话没用过不知道:)
我刚刚在研究了一下,决定在原 Form 的基础上重载他的 clean 函数,完美解决,代码如下:
```
# 自定义基础类
class BaseForm(forms.Form):

# 重载 clean 方法
def clean(self):
# 遍历字典
cleaned_data = {}
for key, value in self.cleaned_data.items():
if value == None:
cleaned_data[key] = self.fields[key].initial
else:
cleaned_data[key] = value
return cleaned_data
```
其他 Form 类只需要继承这个类就好了
例如上文的
```
class NewForm(forms.Form):
...
)
改为
class NewForm(BaseForm):
...
)
```
2019-11-13 23:24:02 +08:00
回复了 Yunen 创建的主题 Python 问个小问题,关于 Django 的 Form 类
@ManjusakaL initial 并不能实现这个功能,只能是在 render 模板时给 field 的默认值。已测试过:( 感谢回复。
1  2  3  4  5  6  7  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1758 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 00:53 · PVG 08:53 · LAX 17:53 · JFK 20:53
Developed with CodeLauncher
♥ Do have faith in what you're doing.