gpt4 book ai didi

django 在干净的方法中更改表单数据

转载 作者:行者123 更新时间:2023-12-04 02:59:49 26 4
gpt4 key购买 nike

我有一个想要自定义清理的 Django 表单。我不想像这里那样指定错误消息( Django form and field validation ),而是想自己更改字段。我尝试了几种方法,但一直遇到错误,例如cleaned_data 是不可变的。

所以为了解决这个问题,我制作了一个副本,更改了它并将其重新分配给了 self.这是最好的方法吗?我可以/应该在 View 中处理这个吗?制作副本似乎很糟糕,但我一直遇到“不可变”的障碍。下面的示例代码,我只是检查主题末尾是否有“--help”,如果没有,则添加它。谢谢

def clean(self):
cleaned_data=self.cleaned_data.copy()
subject=cleaned_data.get['subject']
if not subject.endswith('--help'):
cleaned_data['subject']=subject+='--help'
self.cleaned_data=cleaned_data
return self.cleaned_data

最佳答案

处理此问题的正确方法是使用特定于现场的清洁方法。

无论您从 clean_FOO 返回什么方法是什么cleaned_data将在到达 clean 时填充功能。

请改为执行以下操作:

def clean_subject(self):
data = self.cleaned_data.get('subject', '')
if not data:
raise forms.ValidationError("You must enter a subject")
# if you don't want this functionality, just remove it.

if not data.endswith('--help'):
return data += '--help'
return data

关于django 在干净的方法中更改表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5275476/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com