Shouldn't it be pointed out in the tutorial that if you use a non-root
path for your django-installation, the hard-coded form-action won't
work?

On Feb 10, 2:27 pm, "a...@amos-site.org.uk"
<david.john.a...@googlemail.com> wrote:
> Where exactly do you put this I'm guessing in the file, but a bit of
> context would be appreciated.
>
> On Jan 19, 7:17 am, Adam Yee <adamj...@gmail.com> wrote:
>
> > Success.  I added
>
> > 'script_name': request.META['SCRIPT_NAME']
>
> > into the context of object_detail() in django's generic views
> > list_detail.py.  Here's the modified form tag to the polls_detail.html
> > template:
>
> > <form action="{{ script_name }}/polls/{{ object.id }}/vote/"
> > method="post">
>
> > Note removing the / before {{ script_name }}
>
> > Just to reiterate what Preston said, please share other solutions.
>
> > On Jan 18, 8:13 pm, Adam Yee <adamj...@gmail.com> wrote:
>
> > > On Jan 18, 7:39 am, ptone <pres...@ptone.com> wrote:
>
> > > > In thetutorial, the form action in the poll_detail template is
> > > > hardcoded to "/polls/..."
>
> > > > So the browser is doing what's been explicitly asked of it, despite
> > > > Django doing its best to deal gracefully with your mounting the app
> > > > at /mysite.
>
> > > > In my own newcomer approach, the way I found to work around this is to
> > > > pass in the script name into the context that goes to the template in
> > > > the render_to_response line of the view
>
> > > > 'script_name':request.META['SCRIPT_NAME']
>
> > > > and then use that in the form action URL:
>
> > > > <form action="{{ script_name }}/polls/{{ object.id }}/vote/"
> > > > method="post">
>
> > > Preston, thanks for pointing this out.  You're right about the url
> > > being hardcoded and the prefix not being passed.  I played around with
> > > your request.META['SCRIPT_NAME'] suggestion.  I can't figure out how
> > > to pass the initial 'script_name' to the poll_detail before trying to
> > > vote.  In other words, it seems like I would need to include
> > > 'script_name' in the context passed to the generic view
> > > (object_detail) before it can properly be used in the form.
>
> > > If I add an {% if script_name %} in the poll_detail template or just a
> > > {{ script_name }}, it would need to be rendered before accessing the
> > > vote view.  Maybe you can ellaborate on your method of getting django
> > > to recognize the prefix.  Portability is looking difficult at this
> > > point.  Thanks to all for your help.
>
> > > > This proobably means a // in the URL if you mount your site at /, but
> > > > I think most browsers and servers won't care about that extra /
>
> > > > I welcome anyone pointing out a better way to make the form action
> > > > more "portable" in projects...
>
> > > > -Preston
>
> > > > On Jan 17, 7:53 pm, Adam Yee <adamj...@gmail.com> wrote:
>
> > > > > It was a slam dunk for completing thetutorialin the development
> > > > > server, but I can't figure out this issue I'm having with the generic
> > > > > views while using myapacheserver.  I'm unable to get the vote view
> > > > > toredirectcorrectly.
>
> > > > > Myapacheerror seen here with both urls.py and views.py.  Theapache
> > > > > config is at the bottom.
>
> > > > >http://dpaste.com/110275/
>
> > > > > Voting (hiting the vote button) with or without a radio button
> > > > > selected is redirecting me tohttp://127.0.0.1/polls/1/vote/which
> > > > > gives me a 404 (and not in django's debug format) instead of 
> > > > > ...mysite/
> > > > > polls/1/vote/.
>
> > > > > However, going in the backdoor way and manually typing 
> > > > > inhttp://127.0.0.1/mysite/polls/1/vote/takesmethroughthevote view
> > > > > KeyError exception saying "You didn't select a choice" and displays
> > > > > the page.  I'm also able to access theresultsURL manually.  So I'm
> > > > > thinking the problem lies in either the views.py, my urlconfs or
> > > > > something with my wsgiapacheconfig.
>
> > > > > Can anyone see what I'm missing?- Hide quoted text -
>
> > > > - Show quoted text -- Hide quoted text -
>
> > > - Show quoted text -- Hide quoted text -
>
> > > - Show quoted text -

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to