Poo*_*oja 3 forms django http-post
您好,我是Django Forms的新手.我想在我的表单中添加一个复选框.当我提交表单时,我希望复选框字段应该返回True或False(取决于是否选中复选框).
但是如果选中该字段则发布'on',如果未选中该字段则发布任何内容.以下是我的表单中的代码段:
from django import forms
class MyForm(forms.Form):
def __init__(self):
self.fields['has_code']= forms.CharField(widget= forms.CheckboxInput())
Run Code Online (Sandbox Code Playgroud)
我想要的是当我发布表单时,我应该将帖子数据作为{'has_code':True}
这是你的浏览器,而不是Django.但是(虽然你没有显示你的观点,这会有所帮助)你正在查看request.POST.不要那样做.使用Django表单的全部意义在于它将这样的东西标准化,所以你应该查看表单的cleaned_datadict.
def my_form_view(request):
if request.method == 'POST':
my_form = MyForm(request.POST)
if my_form.is_valid():
# my_form.cleaned_data['has_code'] is now a bool
Run Code Online (Sandbox Code Playgroud)
您还应该BooleanField在表单中使用.另外,__init__除非你做一些动态的事情,否则你不应该覆盖.你的表格应该只是:
class MyForm(forms.Form):
has_code = forms.BooleanField(widget= forms.CheckboxInput())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1896 次 |
| 最近记录: |