They don't actually differ at all. There is really only one "Predicate" object with a specified behavior. As the docs say "You can use the same predicate factory as both a view predicate and as a route predicate." So they're really the same thing - a PredicateFactory - just invoked in a different context. The Predicate factories work identical and can be used in either context.
Whether you use a route or a view depends on your needs. It's worth reading up on the Url Dispatch - http://docs.pylonsproject.org/docs/pyramid/en/latest/narr/urldispatch.html - which probably do the best job of explaining this in the docs. Off the top of my head: Some reasons why you apply a predicate to a route, is that it may be necessary for dealing with route-matching rules, or allow you to dispatch a single URL to different views depending on the request method. Some reasons why you might apply predicates to a view, are that it can allow you to register different renderers to a single view callable. Those are just some of the many reasons. -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to pylons-discuss+unsubscr...@googlegroups.com. To post to this group, send email to pylons-discuss@googlegroups.com. Visit this group at http://groups.google.com/group/pylons-discuss. For more options, visit https://groups.google.com/d/optout.