2011-07-03 13 views
8

मैं एक प्रपत्र प्रस्तुत करना चाहता हूं जिसमें फाइलों का अनुक्रम होता है, जो उत्पाद की विभिन्न छवियों का प्रतिनिधित्व करता है। फाइलें प्रदान करना संकाय होना चाहिए, इसलिए फॉर्म को फाइलों की अनुपस्थिति में भी मान्य होना चाहिए। मैं यह कैसे कर सकता हूँ ?विकृति और कॉलरडर के साथ फ़ाइल अपलोड संकाय कैसे करें?

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

बेहतर पिलन्स सूची –

+4

@ सेन्टिनेल पर पूछें - क्यों * बेहतर *? यह SO के लिए एक बिल्कुल अच्छा सवाल है, जो Django और अन्य ढांचे पर हैं ... आप क्या करने की कोशिश कर रहे थे? (ईमानदार सवाल, मैं सिर्फ तर्क को समझने की कोशिश कर रहा हूं) – mac

+0

@mac: यदि यह एक अच्छा सवाल है, तो आप इसे क्यों ऊपर नहीं उठाते? ;-) – ascobol

उत्तर

4

आप "missing = colander.null" को आजमा सकते हैं।

संबंधित मुद्दे