Redirecting a user in a django template
Question: I have a django website that is spilt depending on what user type you are, I
need to redirect users that are not entitled to see certain aspects of the
site,

in my template, I have

    
    
    {% if user.get_profile.is_store %}
        <!--DO SOME LOGIC-->
    {%endif%}
    

how would I go about redirecting said store back to the index of the site?

====EDIT====

    
    
    ef downloads(request):
    """
    Downloads page, a user facing page for the trade members to downloads POS etc
    """
    if not authenticated_user(request):
    	return HttpResponseRedirect("/professional/")
    
    if request.user.get_profile().is_store():
    	return HttpResponseRedirect("/")
    
    user = request.user
    account = user.get_profile()
    
    downloads_list = TradeDownloads.objects.filter(online=1)[:6]
    downloads_list[0].get_thumbnail()
    data = {}
    data['download_list'] = downloads_list
    
    return render_to_response('downloads.html', data, RequestContext(request))
    

I implement the answer from thornomad, and now I get his error

    
    
    Environment:
    
    Request Method: GET
    Request URL: http://localhost:8000/professional/downloads
    Django Version: 1.1.1
    Python Version: 2.6.2
    Installed Applications:
    ['django.contrib.auth',
     'django.contrib.admin',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.sites',
     'sico.news',
     'sico.store_locator',
     'sico.css_switch',
     'sico.professional',
     'sico.contact',
     'sico.shop',
     'tinymce',
     'captcha']
    Installed Middleware:
    ('django.middleware.common.CommonMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware')
    
    
    Traceback:
    File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py" in get_response
      92.                 response = callback(request, *callback_args, **callback_kwargs)
    File "/var/www/sico/src/sico/../sico/professional/views.py" in downloads
      78.   if request.user.get_profile().is_store():
    File "/var/www/sico/src/sico/../sico/shop/models.py" in is_store
      988.         return not self.account is None
    File "/usr/local/lib/python2.6/dist-packages/django/db/models/fields/related.py" in __get__
      191.             rel_obj = self.related.model._base_manager.get(**params)
    File "/usr/local/lib/python2.6/dist-packages/django/db/models/manager.py" in get
      120.         return self.get_query_set().get(*args, **kwargs)
    File "/usr/local/lib/python2.6/dist-packages/django/db/models/query.py" in get
      305.                     % self.model._meta.object_name)
    
    Exception Type: DoesNotExist at /professional/downloads
    Exception Value: Account matching query does not exist.
    


Answer: You will want to do this, I think, in a _view_ not in the _template_. So,
something like:

    
    
    from django.http import HttpResponseRedirect
    
    def myview(request):
        if request.user.get_profile().is_store():
            return HttpResponseRedirect("/path/")
    
        # return regular view otherwise
    

You could also use a `@decorator` for the view if you found yourself needing
to do this a lot.

