Login et redirect pour les noobs..
Bonjour à tous,
Je vais pas y aller par 4 chemins : je craque!
J'ai lu le tuto, cruisé le net, tenté tous les petits trucs tordu qui me passaient par la tete mais rien n'y fait.
Je n'arrive pas a faire une redirection apres un login//logout...
C'est un tres triste constat d'échec et j'ai besoin de vous :calim2:
Voila ce que j'ai dans mon urls.py :
Code:
1 2 3 4 5 6 7
|
(...)
(r'^accounts/login/$', login),
(r'^accounts/logout/$', logout),
(r'^admin/', include(admin.site.urls)),
(r'^$', 'myApp.myFront.views.index'),
(...) |
Dans mon base.html :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
(...)
<div class="inline">
{% if user.is_authenticated %}
<a href="#">{{user.username}}</a>
{% else %}
<a href="/accounts/login/">log in</a>
{% endif %}
<a href="/accounts/logout/">log out</a>
</div>
(...) |
Dans mon views.py :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
def login(request):
username = request.POST['username']
password = request.POST['password']
user = auth.authenticate(username=username, password=password)
response = redirect('myApp.myFront.views.index')
if user is not None and user.is_active:
auth.login(request, user)
return response
else:
# Show an error page
# return HttpResponseRedirect("/account/invalid/")
return response
def logout(request):
auth.logout(request)
response = redirect('myApp.myFront.views.index')
return response |
Et enfin mon login.html (qui est dans le rep /templates/registration) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
{% extends "base.html" %}
{% load url from future %}
{% block content %}
{% if form.errors %}
<p>Your username and password didn't match. Please try again.</p>
{% endif %}
<form method="post" action='.'>
{% csrf_token %}
<table>
<tr>
<td>{{ form.username.label_tag }}</td>
<td>{{ form.username }}</td>
</tr>
<tr>
<td>{{ form.password.label_tag }}</td>
<td>{{ form.password }}</td>
</tr>
</table>
<input type="submit" value="login" />
<input type="hidden" name="next" value="{{ next|escape }}" />
</form>
{% endblock %} |
Et malgré la balise "value" et le redirect inlassablement je suis redirigé vers /account/profile (qui n'existe pas)...
Je craque...
Help....
Merci d'avance