製品のさまざまな画像を表す一連のファイルを含むフォームをレンダリングしたいと思います。ファイルの提供は簡単である必要があるため、ファイルがない場合でもフォームを検証する必要があります。これどうやってするの ?
これが私が使用するザルスキーマです:
import colander
import deform
from deform import Form
from deform import ValidationFailure
from deform.interfaces import FileUploadTempStore
tmpstore = FileUploadTempStore()
class Image(colander.Schema):
image = colander.SchemaNode(
deform.FileData(),
widget=deform.widget.FileUploadWidget(tmpstore)
)
class Images(colander.SequenceSchema):
images = Image()
class ProductSchema(colander.Schema):
completename = colander.SchemaNode(colander.String(), title="Complete Name")
description = colander.SchemaNode(colander.String(),
widget = deform.widget.TextAreaWidget())
images = Images()
schema = ProductSchema()
form = Form(schema, buttons=("submit", ))
私は次のような「欠落している」引数を追加しようとしました:
image = colander.SchemaNode(
deform.FileData(),
missing = ???
widget=deform.widget.FileUploadWidget(tmpstore)
)
何か機能的になると思います
missing={'filename': None, 'uid':None}
しかし、それが正しい方法かどうかは本当にわかりません...
ありがとう !