A good overview. Thank you. The other question I have, is, where are resources defined and configured? All the examples show example resource code but I have no idea where a resource is supposed to be defined - in the same module as the view callable?
On Mar 2, 7:34 pm, Joe Dallago <[email protected]> wrote: > So I am relatively new to the Pyramid scene, so correct me if I am > wrong, but this is the conclusion I have come to on this topic. B/c I > too struggled for a few days over this. > > Resources: First of all, resources were originally called "models," > but the name was purposely changed to avoid confusion with SQLAlchemy > "models" or with the normal idea of what a MVC "model" is. A > "resource" is simply one element in the "resource tree." The entire > purpose of the resource tree is to define the structure of your site. > A resource isn't necessarily connected to a persistence system, such > as an RDBMS, but it definitely can be. It is also important to note > that the resource tree is only used when traversal is used as the > routing system. Traversal is simply the process by which the router > moves down the resource tree according to the url, and assigns the > context and view. > > Context: In traversal, the context is the last resource that is > loaded as the router traverses the resource tree, either due to the > fact that there are no elements left in the url or that the router has > reached the bottom of the tree. > > View: The view is element of the url that directly follows the > context(i.e. /pages/add, if 'pages' is loaded as the context, then > 'add' becomes the view). It is essentially the function that does all > of the business logic and sends important information to the template. > In traversal the context found through the traversal is passed into > this view function, whereas in Url Dispatch, the root_factory defined > when the view is added to the registry creates an object that is > passed into the view as the context(this could be the root of your > application or even another resource that you might want to use in the > view, it just has to be a class). > > I don't know about the zope.interfaces question. > > I always use the 'view_config' decorators. It is the most readable > option, and I would think readability would only become more important > on a large web application. > > > > > > > > On Wed, Mar 2, 2011 at 8:20 PM, Chris McDonough <[email protected]> wrote: > > On Wed, 2011-03-02 at 17:07 -0800, pspringmeyer wrote: > >> I've been able to figure out most everything about Pyramid, but there > >> is one thing that I'm not able to "grok" and that is "resources". I'm > >> not really understanding the connection between resources, contexts, > >> and views. I'm also confused as to why I would want to use > >> zope.interfaces with a resource... > > > Likely just dont think about it. Use url dispatch instead. Then you > > don't need to know anything about contexts, resources, interfaces, none > > of it. > > >> Another question: is it more idiomatic for a large web application to > >> imperatively declare views or to use the scan() method + config > >> decorators? > > > .scan() is more convenient so it's used more frequently. > > > - C > > > -- > > You received this message because you are subscribed to the Google Groups > > "pylons-discuss" 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 > > athttp://groups.google.com/group/pylons-discuss?hl=en. -- You received this message because you are subscribed to the Google Groups "pylons-discuss" 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/pylons-discuss?hl=en.
