All pastes #474021 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-05-06 15:38 UTC
rendered paste body
I still have the problem with a primary key containing a '#'.
But there may be other problematic characters.

RFC 1738 (URL) says :

> Reserved:
> 
>    Many URL schemes reserve certain characters for a special meaning:
>    their appearance in the scheme-specific part of the URL has a
>    designated semantics. If the character corresponding to an octet is
>    reserved in a scheme, the octet must be encoded.  The characters ";",
>    "/", "?", ":", "@", "=" and "&" are the characters which may be
>    reserved for special meaning within a scheme. No other characters may
>    be reserved within a scheme.


Possible (safe) solution : in django.contrib.admin.views.main.quote, change 
{{{
#!python
        if c in ':/_':
}}}
to
{{{
#!python
        if c in ':/_#?@=&':
}}}
and adapt the docstring.

Actually, i think that HTTP doesn't have a special meaning for '@', '=', '&' in the main part of the URL. So maybe they don't need to be escaped.