作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 App Engine 上构建一个应用程序,我想创建一个具有多个选择的表单字段。
这是我的表单(它使用应用程序引擎 sdk (django 0.96) 中的 django.newforms):
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)
问题是:当我提交表单(选择了一个或多个值)时,出现此验证错误:“输入值列表。”
我不明白为什么......对此问题的一些帮助将非常感激。
谢谢 ! :)
编辑(额外信息):
这是表单验证代码:
form = forms.KeywordForm(data=self.request.POST)
if form.is_valid():
...
self 请求.POST:
UnicodeMultiDict([(u'keyword', u'test'), (u'server[]', u'1'), (u'server[]', u'2')])
最佳答案
我找到了解决办法!
问题是向我的表单构造函数提供的 self.request.POST 字典。
MultipleChoiceField.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():
[...]
关于python - 如何在应用程序引擎上制作多选表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2208207/
我尝试通过正则表达式将文本中的单引号更改为双引号。 (单字)示例:我走了。 You gona fly to planet 'Ziqtos' => 我需要在 I'm 中保留单引号,并在 You gona
我正在构建一个 API,其中大部分将包含 JSON 和 HTML 内容。但是一些非常具体的端点只呈现 true 或 false,并且还在 POST 中接受 true 或 false。这是请求或响应的整
我是一名优秀的程序员,十分优秀!