1
0
mirror of https://github.com/django/django.git synced 2025-07-04 01:39:20 +00:00

unicode: Fixed the urlencode filter to work with non-ASCII strings. Fixed a

similar error in HttpRedirect processing.


git-svn-id: http://code.djangoproject.com/svn/django/branches/unicode@5461 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Malcolm Tredinnick 2007-06-11 14:30:53 +00:00
parent 75d29fa448
commit 0b4122d138
3 changed files with 10 additions and 10 deletions

View File

@ -1,9 +1,9 @@
import os
from Cookie import SimpleCookie
from pprint import pformat
from urllib import urlencode, quote
from urllib import urlencode
from django.utils.datastructures import MultiValueDict
from django.utils.encoding import smart_str
from django.utils.encoding import smart_str, iri_to_uri
RESERVED_CHARS="!*'();:@&=+$,/?%#[]"
@ -334,14 +334,14 @@ class HttpResponseRedirect(HttpResponse):
def __init__(self, redirect_to):
HttpResponse.__init__(self)
self['Location'] = quote(redirect_to, safe=RESERVED_CHARS)
self['Location'] = iri_to_uri(redirect_to)
class HttpResponsePermanentRedirect(HttpResponse):
status_code = 301
def __init__(self, redirect_to):
HttpResponse.__init__(self)
self['Location'] = quote(redirect_to, safe=RESERVED_CHARS)
self['Location'] = iri_to_uri(redirect_to)
class HttpResponseNotModified(HttpResponse):
status_code = 304

View File

@ -175,8 +175,8 @@ upper = stringfilter(upper)
def urlencode(value):
"Escapes a value for use in a URL"
import urllib
return force_unicode(urllib.quote(value))
from django.utils.http import urlquote
return urlquote(value)
urlencode = stringfilter(urlencode)
def urlize(value):

View File

@ -111,14 +111,14 @@ u'MIXED CASE INPUT'
u'\xcb'
>>> urlencode(u'jack & jill')
u'jack%20%26%20jill'
>>> urlencode(u'fran\xe7ois & jill')
u'fran%C3%A7ois%20%26%20jill'
>>> urlencode(1)
u'1'
>>> iriencode(u'S\xf8r-Tr\xf8ndelag')
u'S%C3%B8r-Tr%C3%B8ndelag'
>>> iriencode(urlencode(u'jack & jill'))
u'jack%20%26%20jill'
>>> iriencode(urlencode(u'fran\xe7ois & jill'))
u'fran%C3%A7ois%20%26%20jill'
>>> urlizetrunc(u'http://short.com/', 20)
u'<a href="http://short.com/" rel="nofollow">http://short.com/</a>'