[Grok-dev] Re: Trying to wrap my head around GROK
want_to_grok_grok
s.jolicoeur at gmail.com
Mon Mar 31 02:06:37 EDT 2008
I would need more clarification ... I've been able to create and
traverse multiple containers, how does grok know where to attach
variables to containers ?
def Sample(grok.Application, grok.Container):
def __init__(self):
super(Sample, self).__init__()
self['contacts'] = ContactsContainter()
class ContactsContainter(grok.Container):
pass
class IContact(interface.Interface):
"""Data schema for contacts"""
surname = schema.TextLine(title=u'Surname',description=u'Contact
\'s surname',)
name = schema.TextLine(title=u'Name', description=u'Contact\'s
name',)
notes = schema.Text(title=u'Notes', description=u'Notes about this
contact',)
class Contact(grok.Model):
grok.implements(IContact)
def __init__(self, surname, name, notes):
self.surname = surname
self.name = name
self.notes = notes
class AddContact(grok.AddForm):
grok.context(ContactsContainter)
form_fields = grok.AutoFields(IContact)
@grok.action('Add contact')
def add(self, **data)
in AddContact should the context be Sample ? Is it possible to get
access to Sample from the AddContact class as to have access to
functions and variables set in it ?
On Mar 29, 11:01 pm, want_to_grok_grok <s.jolico... at gmail.com> wrote:
> Found the information I was looking for, it leeds to more questions
> but I want to leave a written trace of this, so here's my
> understanding of things :
> When grokproject creates the skeleton for the app It build one
> container to which we can attach any other container by a dict-like
> structure : "self['contacts'] = Contacts()" ( I was trying the
> self.contacts form and it wasn't yielding proper results). Now to have
> the container behave like a "folder" one has to create an index view
> for it and it's associated template file, while setting the
> "grok.context(Contact)" and "grok.name('index')".
>
> Now this works, but I hope it's the proper grok way.
>
> Thank you for the helpful hand :).
>
> Stephane
>
> NB: comming from Rails and Django I can say that tutorials
> facilitated the adoption of those frameworks for me, I hope to see
> more from Grok other than the simple ones.
>
> On Mar 29, 6:47 pm, want_to_grok_grok <s.jolico... at gmail.com> wrote:
>
> > Where can I find example code of an actual multi-container grok app ?
> > (searching for grok example doesn't yield the most precise
> > results :P )
>
> > Sould Contact(grok.Conatiner): implement grok.context('Sample') ?
>
> > On Mar 27, 11:43 am, "Leonardo Rochael Almeida" <leoroch... at gmail.com>
> > wrote:
>
> > > The first thing you need to understand about URLs in Grok (and in Zope
> > > in general), is that URLs map to content, with the last segment of the
> > > URL either mapping to the content itself, or to a view that has the
> > > content as its "context".
>
> > > So, if your simple app stored contents directly within it, and now you
> > > want to store your contacts under a URL called ".../contacts", then
> > > the simplest way to accomplish this is to have Container subclass
> > > (let's call it ContactContainer), store it on your Application with
> > > the name "contacts", and putting your contacts inside it. Your view
> > > for adding contacts then needs to have ContactContainer as its context
> > > instead of having your Application subclass.
>
> > > Does the above make sense to you?
>
> > > On Thu, Mar 27, 2008 at 1:13 AM, want_to_grok_grok
>
> > > <s.jolico... at gmail.com> wrote:
> > > > Hi,
>
> > > > I am trying to figure out how GROK works and how it can fit in my
> > > > toolbox of webframeworks. Now I followed the tutorial and it was all
> > > > good and dandy, well almost I hit two walls : the automated forms for
> > > > the models ( how can I add css or other decorations to them ? and is
> > > > it possible to have them partially rendered inside another view or am
> > > > I stuck in doing some javascript iframes ? ) and then it was when I
> > > > wanted to complexify the urls as to not have them start from the app
> > > > such as "/app/<entry name>" but as "/app/contacts/<entry name >". Now
> > > > I've found information on Traverse, but I don't seem to be able to get
> > > > it to work. Can I create a container that will be inside the main
> > > > application container ? I tried the tutorial at :
> > > > http://grok.zope.org/documentation/tutorial/navigating-to-transient-o...
> > > > but for some reason I get traversal errors and no means to get to the
> > > > root app : "- __traceback_info__: (<natural.app.Index object at
> > > > 0x37a5370>, 'badnum', [])
> > > > TraversalError: (<natural.app.Index object at 0x37a5370>, 'badnum') "
>
> > > > Is there a simple way to define URLs ? (I am thinking Django url.py or
> > > > Pylons routes)
> > > > are there other tutorials like of how to make a blog or something with
> > > > deep urls ?
> > > > also how does one have grok answer to / and not /app ?
>
> > > > Thank in advance for any help,
>
> > > > Stephane
> > > > _______________________________________________
> > > > Grok-dev mailing list
> > > > Grok-... at zope.org
> > > > http://mail.zope.org/mailman/listinfo/grok-dev
>
> > > _______________________________________________
> > > Grok-dev mailing list
> > > Grok-... at zope.orghttp://mail.zope.org/mailman/listinfo/grok-dev
>
> > _______________________________________________
> > Grok-dev mailing list
> > Grok-... at zope.orghttp://mail.zope.org/mailman/listinfo/grok-dev
>
> _______________________________________________
> Grok-dev mailing list
> Grok-... at zope.orghttp://mail.zope.org/mailman/listinfo/grok-dev
More information about the Grok-dev
mailing list