Phillip J. Eby ha scritto:
At 03:22 PM 1/24/2008 +0100, Manlio Perillo wrote:
Let's suppose that the request uri is /example/login/.
For the main application, SCRIPT_NAME is /example.
For the application at /login, SCRIPT_NAME is /example/login.
My problem is that I want, in the page generated by login application,
return an anchor in the form /example/logout/.
The usual solution is to do environ['SCRIPT_NAME'] + '/logout', but this
will return /example/login/logout/, and not /example/logout/.
This seems to be not possible with the current specifications, since the
original SCRIPT_NAME is lost.
What is the best solution?
1) Do not change SCRIPT_NAME, and instead add a wsgiorg.consumed_path, a
list.
This means that the request uri recostruction must be changed:
SCRIPT_NAME = SCRIPT_NAME + '/'.join(wsgiorg.consumed_path)
2) Store a wsgiorg.original_script_name, with the value seen by the
routing application.
3) Simply don't change SCRIPT_NAME and PATH_INFO.
However I usually need the updated PATH_INFO.
4) Use a relative link, with href=logout.
But since the base url is /example/login/, this relative link is
resolved to /example/login/logout/.
In that case, use href=../logout/.
Manlio Perillo
--
Sven
___
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe:
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com