Python 如何使文件上传与Deform和Colander同时进行?

Python 如何使文件上传与Deform和Colander同时进行?,python,pyramid,deform,colander,Python,Pyramid,Deform,Colander,我想呈现一个包含一系列文件的表单,表示产品的不同图像。提供文件应该是临时性的,因此即使没有文件,表单也应该有效。我该怎么做 以下是我使用的colander模式: import colander import deform from deform import Form from deform import ValidationFailure from deform.interfaces import FileUploadTempStore t

我想呈现一个包含一系列文件的表单,表示产品的不同图像。提供文件应该是临时性的,因此即使没有文件,表单也应该有效。我该怎么做

以下是我使用的colander模式:

    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}
但我真的不确定这样做是否正确


谢谢

您可以尝试“missing=colander.null”。

最好在塔架上询问list@Sentinel-为什么更好?对于SO来说,这是一个非常好的问题,就像Django和其他框架上的问题一样。。。你想做什么?(诚实的问题,我只是想理解逻辑)@mac:如果这是个好问题,你为什么不投票表决呢?;-)@ascobol-+1,因为是你自找的,但由于我对塔架一无所知,所以我很难在发布问题之前判断你的研究是否做得很好(可能还有数万亿个相同的问题在这个问题上有不同的措辞)。@Sentinel:邮件列表很糟糕。他们通常比这样的网站慢得多,你通常必须先注册(然后收到关于你不在乎的垃圾的邮件)。。。