Gostaria de saber onde posso definir o URL para redirecionar após o logout. Eu sei que você pode definir o url de login. Eu quero redirecionar para minha página inicial.
Respostas:
Django moderno (2017+?) Tem uma configuração chamada LOGOUT_REDIRECT_URL
.
Você não precisa substituir ou embrulhar nada.
De acordo com a documentação, você pode apenas fornecer o next_page
argumento para a visualização de logout.
https://docs.djangoproject.com/en/dev/topics/auth/default/#django.contrib.auth.views.logout
(r'^logout/$', 'django.contrib.auth.views.logout',
{'next_page': '/successfully_logged_out/'})
Uma maneira mais fácil:
Adicione o parâmetro 'próximo' ao seu URL de solicitação de logout. Por exemplo:
<a href="{% url 'auth_logout' %}?next=/path_to_the_page"> Logout</a>
Então, a visualização de logout fará o truque para você.
Para redirecionamento pós-login, você pode simplesmente defini-lo em settings.py:
LOGIN_REDIRECT_URL = '/path_to_the_page'
LOGIN_URL = '/path_to_the_page'
base.html
cara e me esquecer disso. : D (Estou usando Django vintage no Debian Jessie: S, então as novas configurações não estão disponíveis.)
Desde Django 1.10, você pode definir um LOGOUT_REDIRECT_URL
( veja a documentação )
Você pode redirecionar o usuário para qualquer lugar usando LOGOUT_REDIRECT_URL em seu arquivo setting.py
LOGOUT_REDIRECT_URL = 'url name to redirect'
Redirecionar para a página atual
<a href="{% url 'logout' %}?next={{ request.path | urlencode }}">{% trans "Logout" %}</a>
Testado em Django 1.9.
Veja também: É possível passar parâmetros de consulta por meio da tag de modelo {% url%} do Django?
Em sua visualização de logout, após efetuar o logout do usuário definitivamente, retorne HttpResponseRedirect (url). Por favor, veja aqui para mais detalhes .
Nos documentos, você pode escrever sua própria visão de logout (que pode ser apenas um invólucro simples) sobrescrevendo a página 'seguinte'.
Se você deseja definir o URL de redirecionamento no nível do cliente, pode fazê-lo em urls.py
:
(r'^management/logout/$', 'django.contrib.auth.views.logout'),
E então no modelo:
<a href="{% url 'django.contrib.auth.views.logout' %}?next=/">
Log out
</a>
Onde o next
, você aponta para o URL correto.
Se você definiu seus próprios urls (e não importou urls de autenticação genéricos) e está usando as visualizações de autenticação django padrão, você pode simplesmente adicioná-los (template_name = 'example.html') no caminho.
path('logout/',auth_views.LogoutView.as_view(template_name='homepage.html'),name="logout")
adicione isso no arquivo setting.py do seu projeto
LOGOUT_REDIRECT_URL = '/'
você pode escrever o seu URL entre '' Eu uso minha página de índice para redirecionamento padrão de logout