I recently began development with Pylons 0.9.7. The online docs
suggest using a function called url_for that should be in
myproject.lib.helpers.py. But, the file is essentially empty.
Is helpers.py supposed to come with any functions at all, or are we
supposed to write url_for (and any others mentioned in the docs)?
You normally add the imports you want to helpers.py, which then makes them
available as "h.some_import". For example, I use the following line to get
the url_for() function:
> I recently began development with Pylons 0.9.7. The online docs
> suggest using a function called url_for that should be in
> myproject.lib.helpers.py. But, the file is essentially empty.
> Is helpers.py supposed to come with any functions at all, or are we
> supposed to write url_for (and any others mentioned in the docs)?
Thanks, John, but that's not my question.
My question is not about how to access functions in the module. My
question is about why the documentation talks about using the url_for
() function, but it is not present in the module. Are we expected to
write it ourselves, or was there a problem in the WAY I set up the
application? For instance, perhaps I missed a step...
Thanks.
Edgar
On Mar 16, 5:14 pm, John Dickson <capts...@gmail.com> wrote:
> You normally add the imports you want to helpers.py, which then makes them
> available as "h.some_import". For example, I use the following line to get
> the url_for() function:
> > I recently began development with Pylons 0.9.7. The online docs
> > suggest using a function called url_for that should be in
> > myproject.lib.helpers.py. But, the file is essentially empty.
> > Is helpers.py supposed to come with any functions at all, or are we
> > supposed to write url_for (and any others mentioned in the docs)?
Sounds like an error in the docs. In the particular case of
``url_for``, John's suggestion is probably what you want. Other "built
in" helpers can be found in the WebHelpers package. In earlier
versions of Pylons, helpers.py included these imports for you; now,
you import the ones you want.
On Mar 16, 3:36 pm, edgarsmolow <edgarsmo...@gmail.com> wrote:
> Thanks, John, but that's not my question.
> My question is not about how to access functions in the module. My
> question is about why the documentation talks about using the url_for
> () function, but it is not present in the module. Are we expected to
> write it ourselves, or was there a problem in the WAY I set up the
> application? For instance, perhaps I missed a step...
> Thanks.
> Edgar
> On Mar 16, 5:14 pm, John Dickson <capts...@gmail.com> wrote:
> > Hi Edgar
> > You normally add the imports you want to helpers.py, which then makes them
> > available as "h.some_import". For example, I use the following line to get
> > the url_for() function:
> > > I recently began development with Pylons 0.9.7. The online docs
> > > suggest using a function called url_for that should be in
> > > myproject.lib.helpers.py. But, the file is essentially empty.
> > > Is helpers.py supposed to come with any functions at all, or are we
> > > supposed to write url_for (and any others mentioned in the docs)?
> > > Thanks.
> > > Edgar
> > --
> > /Angle-parked in a parallel universe.../
As far as I know, the helpers module is there for whatever *you* want to be
easily available in the UI code for *your* app. Pylons doesn't (and
probably couldn't) provide a standard helpers.py that is right for every
application. This also seems to fit the pattern of the other modules
generated in /config and /lib for your application
So, if you want to use a function like routes.url_for() in your UI, the easy
way to achieve this is to import it in helpers.py (as I showed below) - then
you can access it as h.url_for() in your controllers, templates etc. It's
also common to import things like "webhelpers.html.tags.*" etc.,
particularly for form handling.
> Thanks, John, but that's not my question.
> My question is not about how to access functions in the module. My
> question is about why the documentation talks about using the url_for
> () function, but it is not present in the module. Are we expected to
> write it ourselves, or was there a problem in the WAY I set up the
> application? For instance, perhaps I missed a step...
> Thanks.
> Edgar
> On Mar 16, 5:14 pm, John Dickson <capts...@gmail.com> wrote:
> > Hi Edgar
> > You normally add the imports you want to helpers.py, which then makes
> them
> > available as "h.some_import". For example, I use the following line to
> get
> > the url_for() function:
> > > I recently began development with Pylons 0.9.7. The online docs
> > > suggest using a function called url_for that should be in
> > > myproject.lib.helpers.py. But, the file is essentially empty.
> > > Is helpers.py supposed to come with any functions at all, or are we
> > > supposed to write url_for (and any others mentioned in the docs)?
> > > Thanks.
> > > Edgar
> > --
> > /Angle-parked in a parallel universe.../
I think the docs are a little out of sink with where pylons is at the moment. Earlier versions of pylons imported a lot of stuff into the helpers file so they were there by default, which is reflected in the docs. Now however, your expected to import what you need, being explicit rather then implicit. Having said that I know the docs are a little out of since and thats really frustrating with new users. Read the section on upgrading
http://pylonshq.com/docs/en/0.9.7/upgrading/ its pretty informative.
edgarsmolow wrote:
> I recently began development with Pylons 0.9.7. The online docs
> suggest using a function called url_for that should be in
> myproject.lib.helpers.py. But, the file is essentially empty.
> Is helpers.py supposed to come with any functions at all, or are we
> supposed to write url_for (and any others mentioned in the docs)?
> I recently began development with Pylons 0.9.7. The online docs > suggest using a function called url_for that should be in > myproject.lib.helpers.py. But, the file is essentially empty.
> Is helpers.py supposed to come with any functions at all, or are we > supposed to write url_for (and any others mentioned in the docs)?
The official docs here: http://pylonshq.com/docs/en/0.9.7/ don't refer to url_for anywhere. The articles on the cookbook and also the online copy of the book may be a little out of sync and still refer to url_for/h.url_for. url_for still works, but the pylons.url global is preferred.
> As far as I know, the helpers module is there for whatever *you* want > to be easily available in the UI code for *your* app. Pylons doesn't > (and probably couldn't) provide a standard helpers.py that is right > for every application. This also seems to fit the pattern of the > other modules generated in /config and /lib for your application
> So, if you want to use a function like routes.url_for() in your UI, > the easy way to achieve this is to import it in helpers.py (as I > showed below) - then you can access it as h.url_for() in your > controllers, templates etc. It's also common to import things like > "webhelpers.html.tags.*" etc., particularly for form handling.
> Thanks, John, but that's not my question.
> My question is not about how to access functions in the module. My
> question is about why the documentation talks about using the url_for
> () function, but it is not present in the module. Are we expected to
> write it ourselves, or was there a problem in the WAY I set up the
> application? For instance, perhaps I missed a step...
> Thanks.
> Edgar
> On Mar 16, 5:14 pm, John Dickson <capts...@gmail.com
> <mailto:capts...@gmail.com>> wrote:
> > Hi Edgar
> > You normally add the imports you want to helpers.py, which then
> makes them
> > available as "h.some_import". For example, I use the following
> line to get
> > the url_for() function:
> > > I recently began development with Pylons 0.9.7. The online docs
> > > suggest using a function called url_for that should be in
> > > myproject.lib.helpers.py <http://myproject.lib.helpers.py>.
> But, the file is essentially empty.
> > > Is helpers.py supposed to come with any functions at all, or
> are we
> > > supposed to write url_for (and any others mentioned in the docs)?
> > > Thanks.
> > > Edgar
> > --
> > /Angle-parked in a parallel universe.../
> -- > /Angle-parked in a parallel universe.../
Ok. Now that I've got that straightened out, on to another problem. I'm using Pylons 0.9.7 with SQLAlchemy 0.5, but running into a problem when testing model functionality. In particular, there's a Person object which is supposed to be stored in
the persons table. Here's a test code snippet:
import sqlalchemy as sa
import w2t.model as model
import w2t.model.meta as meta
Since neither meta.Session or session have an add method, an
AttributeError exception is raised. But, I don't know the correct set
of calls to make to create a session.