> This problem really drive me crazy, anybody could help me.
> how could the kid receive variable and data from control.py~~?
>
> On Wed, Apr 8, 2009 at 10:43 PM, 跑步鱼 <[email protected]> wrote:
>
>> Hi:
>>
>> I am a fresh in Turbogear.
>>
>> After finish the 20-min wiki, I try to add a upload function to the
>> wiki. well, I don't understand how the data could be sent to kid. I
>> have search previous discuss about this issu.get the solution as
>> following, But I don't know how can I get the data in kid template.
>> what should I add in kid.
>>
>> I tried to add like this:<p py:content="upload_form()">upload</p>, <p>$
>> {upload_form}</p>,but it seems not work.
>>
>> Could you explain the machanism of the data transform between kid and
>> control.py
>>
>> In this case, what should I write in the template.
>> Thank you
>>
>>
>> ----------------------------the code in control.py
>> ------------------------------------
>> from turbogears import controllers, expose, widgets, validators,
>> validate
>> from file_fields.widgets.file_field import FileField, FileValidator
>>
>> # ---- Constants ----
>>
>> BUFFER_SIZE = 8192
>>
>> # ---- Widgets / Forms ----
>>
>> class MediaUploadFields(widgets.WidgetsList):
>>     title = widgets.TextField(
>>         label=_(u"File Title"),
>>     )
>>     mediafile = FileField(
>>         label=_(u"Video File"),
>>     )
>>
>> # ---- Form Validators ----
>>
>> class MediaUploadSchema(validators.Schema):
>>     title = validators.UnicodeString(max=256, strip=True),
>>     mediafile = FileValidator(not_empty=True)
>>
>> # ---- Forms ----
>>
>> upload_form = widgets.TableForm( fields=MediaUploadFields(),
>> validator=MediaUploadSchema() )
>>
>> # ---- Controllers ----
>>
>> class Root(controllers.RootController):
>>     @expose(template=".templates.welcome")
>>     def index(self):
>>         return dict(
>>             upload_action = './upload',
>>             upload_form = upload_form,
>>             upload_submit_text = 'Upload Media',
>>             upload_value = dict(),
>>         )
>>
>>     @expose('.templates.upload', format='xml', content_type="text/
>> xml")
>>     @validate(form=upload_form)
>>     def upload(self, title=None, mediafile=None):
>>
>>         # Copy the file somewhere useful
>>         fp = open('/tmp/uploaded_file', 'wb')
>>         buf = mediafile.file.read(BUFFER_SIZE)
>>         while buf:
>>             fp.write(buf)
>>             buf = mediafile.file.read(BUFFER_SIZE)
>>         fp.close()
>>
>>         return dict(
>>             filename      = mediafile.name,
>>             filesize      = mediafile.size,
>>             md5           = mediafile.md5,
>>             mimetype      = mediafile.type,
>>         )


Maybe my_widget_instance.display( ) is what you are looking for?
See http://docs.turbogears.org/1.0/WidgetsOverview for more details.

HTH,
Daniel



-- 
Psss, psss, put it down! - http://www.cafepress.com/putitdown

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to