Created
August 22, 2013 10:23
-
-
Save siddartha/6305610 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# forms.py | |
from django import forms | |
from django.contrib.auth.models import User | |
class ConnexionForm(forms.Form): | |
username = forms.CharField(label="Nom d'utilisateur", max_length=30) | |
password = forms.CharField(label="Mot de passe", widget=forms.PasswordInput) | |
#view.py | |
#-*- coding: utf-8 -*- | |
from django.http import Http404 | |
from django.shortcuts import render | |
from django import forms | |
from link.models import Ancre,Lien | |
def index(request): | |
liens = Lien.objects.all() # On sélectionne tous les liens. | |
return render(request, 'link/index.html', {'derniers_liens':liens}) | |
def page(request, id_page): | |
page = Lien.objects.get(id=id_page) | |
liens = Lien.objects.filter(page=page.page) | |
return render(request, 'link/page.html', {'page':page, 'derniers_liens':liens}) | |
def keyword(request, id_kws): | |
keyword = Ancre.objects.get(id=id_kws) | |
liens = Lien.objects.filter(ancre=keyword) | |
return render(request, 'link/keyword.html', {'keyword':keyword, 'derniers_liens':liens}) | |
def connexion(request): | |
error = False | |
if request.method == "POST": | |
form = ConnexionForm(request.POST) | |
if form.is_valid(): | |
username = form.cleaned_data["username"] # on récupère le nom d'utilisateur | |
password = form.cleaned_data["password"] # .. et le mot de passe | |
user = authenticate(username=username, password=password) # on vérifie si les données sont ok | |
if user: # si l'objet renvoyé n'est pas None | |
login(request, user) # on connecte l'utilisateur | |
else: # sinon on affiche une erreur | |
error = True | |
else: | |
form = ConnexionForm() | |
return render(request, 'link/connexion.html', locals()) | |
# connexion.html | |
{% extends "base.html" %} | |
{% block title %}Se connecter{% endblock %} | |
{% block content %} | |
<h2>Se connecter</h2> | |
{% if error %} | |
<p><strong>Utilisateur inexistant ou mauvais mot de passe</strong></p> | |
{% endif %} | |
{% if user.is_authenticated %} | |
Vous êtes connecté {{ user.username }} ! | |
{% else %} | |
<form method="post" action="/connexion/"> | |
{% csrf_token %} | |
{{ form.as_ul }} | |
<input type="submit" value="Submit" /> | |
</form> | |
{% endif %} | |
{% endblock %} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment