如何在appengin上创建一个多选表单域

2024-04-19 01:45:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在app Engine上构建一个应用程序,我想创建一个具有多个选择的表单字段。
这是我的表格(它使用django.newforms从app engine sdk(django 0.96)):

from google.appengine.ext.db import djangoforms
from django import newforms

class KeywordForm(djangoforms.ModelForm):
    class Meta:
        model = Keyword
        exclude = ['site', 'created_at', 'last_update']

    choices = [ (1, 'value1'), (2, 'value2'), (3, 'value3'), (4, 'value4') ]
    server = newforms.fields.MultipleChoiceField(choices = choices)

问题是:当我提交表单(选择了一个或多个值)时,出现了一个验证错误:“输入值列表。

我不明白为什么。。。如果您能在这个问题上提供帮助,我们将不胜感激。
谢谢!:)

编辑(额外信息):
以下是表单验证代码:

^{pr2}$

在self.request.POST公司名称:

UnicodeMultiDict([(u'keyword', u'test'), (u'server[]', u'1'), (u'server[]', u'2')])

Tags: djangofromimportapp应用程序表单server单字
1条回答
网友
1楼 · 发布于 2024-04-19 01:45:17

我找到了解决办法!在

问题是self.request.POST提供给表单构造函数的词典。
它的格式不受多重回声场.clean()函数,所以我对它进行了转换。在

以下是工作验证码:

 args = self.request.arguments()
 data = {}
 for i in args:
     data[i] = self.request.get_all(i)
 form = forms.KeywordForm(data=data)
 if form.is_valid():
     [...]

相关问题 更多 >