> <p>Welcome {{ request.user.username }}. <a href="{% url > auth_logout_next 'directorio' %}">Logout</a></p>
This part of your code is generating a logout URL like this in your template: "/logout/directorio" Now, your urls.py has the pattern: url(r'^logout/(?P<next_page>.*)/$', 'django.contrib.auth.views.logout', name='auth_logout_next'), This makes, the variable 'next_page' assign the value after the slash 'login/' section. i.e. next_page = 'directorio' Now, the logout view is invoked and it's code gets executed. But since you provided a relative url value to this view, a http 302 is issued to the client to fetch the new url. Formed as a result of joining you current url and the relative path. i.e. '/login/directorio/directorio'. Which is basically again matching with the last url pattern. So, this whole thing keeps on going in a loop where: '/logout/directorio' is requested the first time. In response, the client is requested to fetch url, '/logout/directorio/directorio' the second time... '/logout/directorio/directorio/directorio/directorio' the third time... and so on and on in a loop. This is why you never see the expected output in the page. The actual logout is done in the first request only. So, when you refresh the page, you are basically pre-empting your browser client to break the initial loop, and manually requesting for the new fetch request. I hope I was able to clear the reason behind the outcome you were experiencing. On Sat, Aug 20, 2011 at 2:39 PM, Andre Lopes <lopes80an...@gmail.com> wrote: > I am new to Django, and I am trying to put the logout to work... > > I have installed the an App called, Django-Registration. > > My problem is that I can do the logout, but the page does not get > refreshed, I must to press F5 after the logout to see the page for not > logged users. > > What I have done is the following: > > urls.py, added to urlpatterns: > [code] > url(r'^logout/$', 'django.contrib.auth.views.logout', {'next_page': > '/'}, name='auth_logout'), > url(r'^logout/(?P<next_page>.*)/$', > 'django.contrib.auth.views.logout', name='auth_logout_next'), > [/code] > > In the template I have this code: > [code] > {% if request.user.is_authenticated %} > <p>Welcome {{ request.user.username }}. <a href="{% url > auth_logout_next 'directorio' %}">Logout</a></p> > {% else %} > <p>Welcome. Please <a href="/accounts/login/">login</a> or <a > href="/accounts/register/">register</a></p> > {% endif %} > [/code] > > When I click Logout I dont see this in the screen: > [code] > <p>Welcome. Please <a href="/accounts/login/">login</a> or <a > href="/accounts/register/">register</a></p> > [/code] > > I only see this text if I use F5 to refresh the page. > > What I am missing here? > > Please give me a clue. > > Best Regards, > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-users@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > > -- Thanks, Subhranath Chunder. www.subhranath.com -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.