I tried with redirect from turbogears, but I get the same problem. I
actually expected that since redirect uses internally
cherrypy.HTTPRedirect.


Bogdan


Bogdan Hlevca wrote:
1. Thanks for your suggestions. I will try them.

2. The template calls Root.addItem which redirects to localhost and
fails.
I assume that the cause is common with #1 since it is a redirect in
both cases.

Bogdan

Ian Wilson wrote:
> I don't know why its broken but here are two things to try if you have
> not already:
>
> 1.Inherit from the turbogears Controller class(Not RootController).
>
> from turbogears.controllers import Controller
> class Members(Controller):
>     ...
>
> 2.Use the turbogears redirect function instead of using cherrpy directly.
> from turbogears import redirect
>
> def addItem(...)
>     ...
>     redirect('/users/%s' % memberID)
>
>
> I don't quite understand the template issue?  What is wrong there?
> You mean posting from the form and going to addItem does not work.. or
> after addItem is done the redirect goes to localhost, ie. fails ?
>
> -Ian
>
>
> On 1/1/07, Bogdan Hlevca <[EMAIL PROTECTED]> wrote:
> >
> > Hi,
> >
> > I have a problem with my site with some URL redirections:
> >
> > 1. For subobjects
> > 2. From templates
> >
> > --------------------------------------------------------------------
> > For
> > #1. assume that in contollers.py we have
> >
> > class Members:
> >     @turbogears.expose(html="hlevca.templates.users")
> >     def index(self):
> >         users = model.Member.select()
> >         return dict(users=users)
> >
> >     @turbogears.expose(html="hlevca.templates.user")
> >     def default(self, memberID):
> >         try:
> >             memberID = int(memberID)
> >             member = model.Member.get(memberID)
> >         except (ValueError, model.SQLObjectNotFound):
> >             raise cherrypy.NotFound
> >         else:
> >             return dict(member=member)
> >        ...
> >
> > class Root(controllers.RootController):
> >
> >     users = Members()
> >     ...
> >
> > If  I type in browser  www.mysite.org:8082/users  it gets redirected to
> > localhost:8082/users/ and I get an error since I am not working on the
> > local machine, but if I type directly www.mysite.org:8082/users/ it
> > goes to the right page.
> >
> > Is this a bug, or is my configuration bad?
> >
> > #2. I have a similar issue from templates
> >
> > in user.kid I have a form
> >
> >  <form id="addItem" action="/addItem" method="POST">
> >             <input type="hidden" name="memberID" value="${member.id}"/>
> >             <input type="hidden" id="listID" name="listID"
> > value="${memberList.id}"/>
> >             <label>Add Item: <input type="text" name="value"/></label>
> >             <input type="submit" value="Add"/>
> > </form>
> >
> > while in the Root class in controllers.py I have:
> >
> >     @turbogears.expose(template="hlevca.templates.users")
> >     def addItem(self, memberID, listID, value):
> >         try:
> >             listID = int(listID)
> >             l = model.List.get(listID)
> >         except ValueError:
> >             turbogears.flash("Invalid list!")
> >         except model.SQLObjectNotFound:
> >             turbogears.flash("List not found! (Did someone else remove
> > it?)")
> >         else:
> >             # Remove extra spaces
> >             value = value.strip()
> >             # Remove null bytes (they can seriously screw up the
> > database)
> >             value = value.replace('\x00', '')
> >             if value:
> >                 item = model.Item(listID=listID, value=value)
> >                 turbogears.flash("Item added!")
> >             else:
> >                 turbogears.flash("Item must be non-empty!")
> >         raise cherrypy.HTTPRedirect('/users/%s' % memberID)
> >
> > This again seems a problem with redirection. Can someone tell me
> > whether this is a misconfiguration on my side, or a bug (perhaps in
> > Cherrypy redirect)?
> >
> > Thanks,
> > Bogdan
> >
> >
> > >
> >


--~--~---------~--~----~------------~-------~--~----~
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