2011-07-03 2 views
8

제품의 여러 이미지를 나타내는 일련의 파일이 포함 된 양식을 렌더링하고 싶습니다. 파일을 제공하는 것은 성격이 있어야하므로 파일이없는 경우에도 양식의 유효성을 검사해야합니다. 어떻게해야합니까?Deform 및 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} 

하지만 올바른 방법이라고 확신하지 못합니다.

감사합니다.

+0

더 나은 Pylons 목록에 질문하십시오 –

+4

@ 센티넬 - 왜 * 더 *? 이것은 장고 및 기타 프레임 워크의 사람들처럼 SO를위한 완전히 좋은 질문입니다 ... 당신이하려는 것은 무엇 이었습니까? (정직한 질문, 나는 단지 논리를 이해하려고 노력하고있다) – mac

+0

@mac : 좋은 질문이라면, 왜 그것을 upvote하지 않습니까? ;-) – ascobol

답변

4

"누락 = colander.null"시도해보십시오.