Hi, Thanks for the reply.
I have discovered that If I use this: [code] <p>Welcome {{ request.user.username }}. <a href="{% url auth_logout_next '/directorio/' %}">Logout</a></p> [/code] Instead of: [code] <p>Welcome {{ request.user.username }}. <a href="{% url auth_logout_next 'directorio' %}">Logout</a></p> [/code] I got the code working as expected. The thing is that I got an URL like this: http://localhost:8080/logout//directorio// This should be working like this, or this is just a mistake that works? PS: Sorry my english. On Sat, Aug 20, 2011 at 10:35 PM, Subhranath Chunder <subhran...@gmail.com> wrote: >> <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. > -- 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.