summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Meers <simon@simonmeers.com>2012-08-03 10:03:52 +1000
committerSimon Meers <simon@simonmeers.com>2012-08-04 20:57:12 +1000
commit10f979fd92000de1ac9713351f5cb749e2cbca03 (patch)
tree31c737f7bbea8689237743b6223aa89529ec0445
parentb496be331c19f41bee3a8f6c79de0722f91d6662 (diff)
Fixed #18700 -- Added URL reversal for i18n set_language view.
-rw-r--r--django/conf/urls/i18n.py4
-rw-r--r--docs/topics/i18n/translation.txt2
-rw-r--r--tests/regressiontests/views/tests/i18n.py4
3 files changed, 7 insertions, 3 deletions
diff --git a/django/conf/urls/i18n.py b/django/conf/urls/i18n.py
index 6e56af8271..426c2b2d30 100644
--- a/django/conf/urls/i18n.py
+++ b/django/conf/urls/i18n.py
@@ -1,5 +1,5 @@
from django.conf import settings
-from django.conf.urls import patterns
+from django.conf.urls import patterns, url
from django.core.urlresolvers import LocaleRegexURLResolver
def i18n_patterns(prefix, *args):
@@ -16,5 +16,5 @@ def i18n_patterns(prefix, *args):
urlpatterns = patterns('',
- (r'^setlang/$', 'django.views.i18n.set_language'),
+ url(r'^setlang/$', 'django.views.i18n.set_language', name='set_language'),
)
diff --git a/docs/topics/i18n/translation.txt b/docs/topics/i18n/translation.txt
index 988948e259..bdbb04823d 100644
--- a/docs/topics/i18n/translation.txt
+++ b/docs/topics/i18n/translation.txt
@@ -1272,7 +1272,7 @@ Here's example HTML template code:
.. code-block:: html+django
- <form action="/i18n/setlang/" method="post">
+ <form action="{% url 'set_language' %}" method="post">
{% csrf_token %}
<input name="next" type="hidden" value="{{ redirect_to }}" />
<select name="language">
diff --git a/tests/regressiontests/views/tests/i18n.py b/tests/regressiontests/views/tests/i18n.py
index 9993ae959c..cb580267d2 100644
--- a/tests/regressiontests/views/tests/i18n.py
+++ b/tests/regressiontests/views/tests/i18n.py
@@ -5,6 +5,7 @@ import gettext
from os import path
from django.conf import settings
+from django.core.urlresolvers import reverse
from django.test import TestCase
from django.utils.translation import override, activate, get_language
from django.utils.text import javascript_quote
@@ -23,6 +24,9 @@ class I18NTests(TestCase):
self.assertRedirects(response, 'http://testserver/views/')
self.assertEqual(self.client.session['django_language'], lang_code)
+ def test_setlang_reversal(self):
+ self.assertEqual(reverse('set_language'), '/views/i18n/setlang/')
+
def test_jsi18n(self):
"""The javascript_catalog can be deployed with language settings"""
saved_lang = get_language()