我在forms.py中有一个非常基本的定义来从我提交的表单中提取数据。我已经对其他应用程序做了些什么,但由于某种原因,它目前无法正常工作。我觉得我忽略了一些东西。每当我print(image_height)
时,我都会None
。
models.py
height_field = models.IntegerField(default=1200)
forms.py
class PostForm(ModelForm):
class Meta:
model = Post
fields = ['user', 'title', 'content', 'post_image',
'height_field', 'width_field', 'draft', 'publish']
def clean_post_image(self):
post_image = self.cleaned_data["post_image"]
image_height = self.cleaned_data.get("height_field")
print(image_height)
return post_image
答案 0 :(得分:0)
如果您想要根据其他字段验证表单字段,则应该使用干净的方法进行验证。
来自文档,
表单子类的clean()方法可以执行需要访问多个表单字段的验证。您可以在此处进行检查,例如“如果提供了字段A,则字段B必须包含有效的电子邮件地址”。如果愿意,此方法可以返回完全不同的字典,该字典将用作cleaning_data。
你可以这样做,
def clean(self, cleaned_data):
post_image = cleaned_data.get("post_image")
height_image = cleaned_data.get("height_image")
#do_your_thing
return cleaned_data