id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 19595,The 'redirect' from django.shortcuts does not work in a view function when the only parameter is a URL string,sergzach,nobody,"The fragment of urls.py: {{{ urlpatterns = patterns('', # Examples: url(r'^$', 'home.views.home', name='home'), url(r'^viewer', 'home.views.viewer', name='viewer'), ... # Uncomment the next line to enable the admin: # url(r'^admin/', include(admin.site.urls)), ) }}} The home/views.py: {{{ ... def viewer( request ): from django.shortcuts import redirect return redirect( '/' ) ... }}} I tested the redirect in another similar project, in both cases the traceback is similar: {{{ File ""C:\Python27\lib\site-packages\django\core\handlers\base.py"" in get_response 115. response = callback(request, *callback_args, **callback_kwargs) File ""C:\cygwin\home\sergzach\lads\lads\views.py"" in response 14. request, result = view( *args, **kwargs ) File ""C:\cygwin\home\sergzach\lads\home\views.py"" in viewer 106. return redirect( '/' ) File ""C:\Python27\lib\site-packages\django\shortcuts\__init__.py"" in redirect 70. return redirect_class(resolve_url(to, *args, **kwargs)) File ""C:\Python27\lib\site-packages\django\shortcuts\__init__.py"" in resolve_url 143. return urlresolvers.reverse(to, args=args, kwargs=kwargs) File ""C:\Python27\lib\site-packages\django\core\urlresolvers.py"" in reverse 496. return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)) File ""C:\Python27\lib\site-packages\django\core\urlresolvers.py"" in _reverse_with_prefix 382. possibilities = self.reverse_dict.getlist(lookup_view) File ""C:\Python27\lib\site-packages\django\core\urlresolvers.py"" in reverse_dict 297. self._populate() File ""C:\Python27\lib\site-packages\django\core\urlresolvers.py"" in _populate 286. lookups.appendlist(pattern.callback, (bits, p_pattern, pattern.default_args)) File ""C:\Python27\lib\site-packages\django\core\urlresolvers.py"" in callback 230. self._callback = get_callable(self._callback_str) File ""C:\Python27\lib\site-packages\django\utils\functional.py"" in wrapper 29. result = func(*args) File ""C:\Python27\lib\site-packages\django\core\urlresolvers.py"" in get_callable 92. mod_name, func_name = get_mod_func(lookup_view) File ""C:\Python27\lib\site-packages\django\core\urlresolvers.py"" in get_mod_func 142. dot = callback.rindex('.') Exception Type: AttributeError at /viewer/ Exception Value: 'TemplateView' object has no attribute 'rindex' }}} The function worked in Django-1.3 (I updated from Django-1.3 or some release of Django-1.4). In current releases Django-1.4.3 and Django-1.5c1 it does not work as expected. [The docs](https://docs.djangoproject.com/en/1.5/topics/http/shortcuts/#django.shortcuts.redirect) says we could pass the string URL as the first parameter.",Bug,closed,Core (URLs),1.5-beta-1,Normal,invalid,,,Unreviewed,0,0,0,0,0,0