Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django模型中的BooleanField与CharField_Python_Html_Django_Django Models_Django Forms - Fatal编程技术网

Python Django模型中的BooleanField与CharField

Python Django模型中的BooleanField与CharField,python,html,django,django-models,django-forms,Python,Html,Django,Django Models,Django Forms,在我的应用程序模型中,我有一个布尔字段: 我用这个来区分两件事。因此,我想通过html表单隐藏发送此值: <input type="hidden" name="campaign" value="True or False" /> 但看起来表单发送字符串,我想把字符串转换成布尔值。当然,我可以重新编写模型,使其成为一个带有默认值的CharField='True或False',但这似乎并不十分优雅 有没有比这更令人兴奋的方法 表单发送字符串,我想将该字符串转换为布尔值 request.

在我的应用程序模型中,我有一个布尔字段:

我用这个来区分两件事。因此,我想通过html表单隐藏发送此值:

<input type="hidden" name="campaign" value="True or False" />
但看起来表单发送字符串,我想把字符串转换成布尔值。当然,我可以重新编写模型,使其成为一个带有默认值的CharField='True或False',但这似乎并不十分优雅

有没有比这更令人兴奋的方法

表单发送字符串,我想将该字符串转换为布尔值

request.POST中的所有数据都是字符串或字符串列表。您需要自己转换它,或者使用django forms preferred为您完成这项工作

使用django forms,您可以在启动forms.BooleanField时替换小部件,如下所示:

class MyForm(forms.ModelForm):

    campaign = forms.BooleanField(widget=forms.HiddenInput())

对不起,我没听懂。如果我进行此重写,它是否接受html表单中的,这基本上是一个字符串?我已经更新了答案。基本上,django表单为您进行转换,因此您无需担心。它还允许您编写自己的转换规则。django可以帮助您为表单生成html。请参阅上述帖子中的文档链接谢谢您的回答,我将在阅读表单文档后尝试:
class MyForm(forms.ModelForm):

    campaign = forms.BooleanField(widget=forms.HiddenInput())