我想做一个发布选项,所以我用这个
class Article(models.Model):
publish_options = models.CharField(max_length=50)
现在在我的表单中,我使用了forms.CheckboxSelectMultiple widget
。所以我有这个
PUBLISH_VISIBILITY = (
('All', 'All'),
('Paid-users', 'Paid-users'),
('Free Users', 'Free Users'),
('Public', 'Public'),
)
class PortalNoteForm(ModelForm):
publish_options = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple, choices=PUBLISH_VISIBILITY)
class Meta:
model = Article
现在在我看来,我得到了如下复选框的值
if request.method == 'POST':
form = PortalNoteForm(request.POST)
if form.is_valid():
school_article = form.save(commit=False)
school_article.publish_options = form.cleaned_data['publish_options']
school_article.school_creator = admin
school_article.save()
return HttpResponseRedirect(reverse('going to somewhere'))
else:
form = PortalNoteForm()
context = {'form':form, 'notes':notes}
好的,保存publish\u选项的值可以很好的工作,但是作为一个列表,即使您只选择了一个复选框,它的值也是作为一个列表来的。现在的问题是我无法阻止这些publish_options
值在django模板中显示为列表。我试过迭代它们,但没有办法。我真的需要帮助。你知道吗
既然已经有了表单,为什么还要从
request.POST
获取数据呢?表单应该采用request.POST
并将数据转换成更方便的方式供您使用:你知道吗视图.py你知道吗
相关问题 更多 >
编程相关推荐