Skip to content
Extraits de code Groupes Projets
Valider 720272b5 rédigé par Charles Anteunis's avatar Charles Anteunis
Parcourir les fichiers

inscription connexion fonctionnel

parent dcfe4ee6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
from django import forms
from datetime import datetime
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
from django.core.exceptions import ValidationError
import os
class UserForm(UserCreationForm):
email = forms.EmailField(required=False)
class Meta:
model = User
fields = ('username', 'password1', 'password2')
\ No newline at end of file
...@@ -6,15 +6,31 @@ ...@@ -6,15 +6,31 @@
Released for free under the Creative Commons Attribution 3.0 license (templated.co/license) Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
--> -->
<html> <html>
<head> <head>
<title>NutriForm</title> <title>NutriForm</title>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="{% static 'nutriform/assets/css/main.css' %}" /> <link rel="stylesheet" href="{% static 'nutriform/assets/css/main.css' %}" />
</head> </head>
<body class="landing">
<body>
<header id="header">
<h1><strong><a href="{% url 'index' %}">Nutriform</a></h1>
<nav id="nav">
<ul>
<li><a href="{% url 'index' %}">Accueil</a></li>
<li><a href="elements.html">About us</a></li>
<li><a href="{% url 'compte' %}">Mon compte</a></li>
{% if user.is_authenticated %}
<li><a href="{% url 'logout' %}">Se déconnecter</a></li>
{% else %}
<li><a href="{% url 'login' %}">Se connecter</a></li>
{% endif %}
</ul>
</nav>
</header>
{% block content %} {% block content %}
{% endblock %} {% endblock %}
...@@ -42,4 +58,5 @@ ...@@ -42,4 +58,5 @@
<script src="{% static 'nutriform/assets/js/main.js' %}"></script> <script src="{% static 'nutriform/assets/js/main.js' %}"></script>
</body> </body>
</html> </html>
\ No newline at end of file
{% extends "../nutriform/base.html" %}
{% block content %}
<div class="container">
<p>Je suis bien dans mon compte en tant que {{ user.username }}</p>
<h3>Mes informations diverses</h3>
</div class="container">
{% endblock %}
\ No newline at end of file
...@@ -6,12 +6,14 @@ ...@@ -6,12 +6,14 @@
Released for free under the Creative Commons Attribution 3.0 license (templated.co/license) Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
--> -->
<html> <html>
<head> <head>
<title>NutriForm</title> <title>NutriForm</title>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="{% static 'nutriform/assets/css/main.css' %}" /> <link rel="stylesheet" href="{% static 'nutriform/assets/css/main.css' %}" />
</head> </head>
<body class="landing"> <body class="landing">
<!-- Header --> <!-- Header -->
...@@ -20,8 +22,13 @@ ...@@ -20,8 +22,13 @@
<nav id="nav"> <nav id="nav">
<ul> <ul>
<li><a href="{% url 'index' %}">Accueil</a></li> <li><a href="{% url 'index' %}">Accueil</a></li>
<li><a href="generic.html">Mon compte</a></li>
<li><a href="elements.html">About us</a></li> <li><a href="elements.html">About us</a></li>
<li><a href="{% url 'compte' %}">Mon compte</a></li>
{% if user.is_authenticated %}
<li><a href="{% url 'logout' %}">Se déconnecter</a></li>
{% else %}
<li><a href="{% url 'login' %}">Se connecter</a></li>
{% endif %}
</ul> </ul>
</nav> </nav>
</header> </header>
...@@ -33,7 +40,7 @@ ...@@ -33,7 +40,7 @@
<h2>NutriForm</h2> <h2>NutriForm</h2>
<p>La solution pour vos conseils bien-être<br /> Par le super groupe de PIMA</p> <p>La solution pour vos conseils bien-être<br /> Par le super groupe de PIMA</p>
<ul class="actions"> <ul class="actions">
<li><a href="{% url 'login' %}" class="button special big">Je m'inscris</a></li> <li><a href="{% url 'register' %}" class="button special big">Je m'inscris</a></li>
</ul> </ul>
</section> </section>
...@@ -48,8 +55,16 @@ ...@@ -48,8 +55,16 @@
</header> </header>
</div> </div>
<div class="6u$ 12u$(medium)"> <div class="6u$ 12u$(medium)">
<p>NutriForm qu'est ce que c'est? C'est un suivi et des conseils adaptés aux besoins de chacun. Lors de votre premmière inscription vous rentrez vos inforamtions générales sur votre condition physique. Vous rentrez aussi votre objectif. Vous receverez alors vos premiers conseil de menu fitness pour manger plus seinement et ainsi améliorer votre bien être physique. Deplus vous receverez de manière régulière des questionnaires à compléter sur notre site pour que nos conseils soient le plus adaptés à vos besoins et pour pouvoir améliorer votre bien être.</p> <p>NutriForm qu'est ce que c'est? C'est un suivi et des conseils adaptés aux besoins de chacun. Lors
<p>NutriForm c'est aussi des conseils d'activité physique pour pouvoir allier sport et régime alimentaire pour de meilleurs résultats.En effet des conseils d'exercices vous seront proposés régulièrement. De même des propositions de lieux proche de chez vous pour pouvoir pratiquer du sport et améliorer votre condition physique.</p> de votre premmière inscription vous rentrez vos inforamtions générales sur votre condition
physique. Vous rentrez aussi votre objectif. Vous receverez alors vos premiers conseil de menu
fitness pour manger plus seinement et ainsi améliorer votre bien être physique. Deplus vous
receverez de manière régulière des questionnaires à compléter sur notre site pour que nos
conseils soient le plus adaptés à vos besoins et pour pouvoir améliorer votre bien être.</p>
<p>NutriForm c'est aussi des conseils d'activité physique pour pouvoir allier sport et régime
alimentaire pour de meilleurs résultats.En effet des conseils d'exercices vous seront proposés
régulièrement. De même des propositions de lieux proche de chez vous pour pouvoir pratiquer du
sport et améliorer votre condition physique.</p>
</div> </div>
</div> </div>
</div> </div>
...@@ -92,43 +107,55 @@ ...@@ -92,43 +107,55 @@
</header> </header>
<div class="feature-grid"> <div class="feature-grid">
<div class="feature"> <div class="feature">
<div class="image rounded"><img src="{% static 'nutriform/images/comment-faire-un-plat-de-riz-a-l-indienne.jpg' %}" width="100" height="100" alt="" /></div> <div class="image rounded"><img
src="{% static 'nutriform/images/comment-faire-un-plat-de-riz-a-l-indienne.jpg' %}"
width="100" height="100" alt="" /></div>
<div class="content"> <div class="content">
<header> <header>
<h4>Menus nutriform</h4> <h4>Menus nutriform</h4>
<p width="100" height="100">Recevez chaque jour nos menus adaptés pour vous aider à améliorer votre condition physique</p> <p width="100" height="100">Recevez chaque jour nos menus adaptés pour vous aider à
améliorer votre condition physique</p>
</header> </header>
<p width="100" height="100">Nutriform conçoit des menus équilibrés répondant aix besoins de chacun. Avec des ingrédients et des aliments accessible et variés. </p> <p width="100" height="100">Nutriform conçoit des menus équilibrés répondant aix besoins de
chacun. Avec des ingrédients et des aliments accessible et variés. </p>
</div> </div>
</div> </div>
<div class="feature"> <div class="feature">
<div class="image rounded"><img src="{% static 'nutriform/images/questionnaire.jpg' %}" width="100" height="100" alt="" /></div> <div class="image rounded"><img src="{% static 'nutriform/images/questionnaire.jpg' %}" width="100"
height="100" alt="" /></div>
<div class="content"> <div class="content">
<header> <header>
<h4>Activités physique</h4> <h4>Activités physique</h4>
<p width="100" height="100">Recevez des conseils d'exercices quotidiennement</p> <p width="100" height="100">Recevez des conseils d'exercices quotidiennement</p>
</header> </header>
<p width="100" height="100">Nutriform propose des exercices physiques pour vous aider à atteindre vos objectifs.</p> <p width="100" height="100">Nutriform propose des exercices physiques pour vous aider à
atteindre vos objectifs.</p>
</div> </div>
</div> </div>
<div class="feature"> <div class="feature">
<div class="image rounded"><img src="{% static 'nutriform/images/Kumpellauf-gross.jpg' %}" width="100" height="100" alt="" /></div> <div class="image rounded"><img src="{% static 'nutriform/images/Kumpellauf-gross.jpg' %}"
width="100" height="100" alt="" /></div>
<div class="content"> <div class="content">
<header> <header>
<h4>GéoLocalisation SPORT </h4> <h4>GéoLocalisation SPORT </h4>
<p width="100" height="100">Où pratiquer du sport près de chez vous</p> <p width="100" height="100">Où pratiquer du sport près de chez vous</p>
</header> </header>
<p width="100" height="100">Recevez des conseils de lieux pour pratiquer une activité physique près de chez vous.</p> <p width="100" height="100">Recevez des conseils de lieux pour pratiquer une activité physique
près de chez vous.</p>
</div> </div>
</div> </div>
<div class="feature"> <div class="feature">
<div class="image rounded"><img src="{% static 'nutriform/images/ouvrir-une-franchise-de-salle-de-sport-fitness.jpg' %}" width="100" height="100" alt="" /></div> <div class="image rounded"><img
src="{% static 'nutriform/images/ouvrir-une-franchise-de-salle-de-sport-fitness.jpg' %}"
width="100" height="100" alt="" /></div>
<div class="content"> <div class="content">
<header> <header>
<h4>Suivi Personnalisé</h4> <h4>Suivi Personnalisé</h4>
<p width="100" height="100">Des questionnaires réguliers pour mieux répondre à vos attentes</p> <p width="100" height="100">Des questionnaires réguliers pour mieux répondre à vos attentes
</p>
</header> </header>
<p>Nutriform vous suit tout au long de votre programme pour pouvoir évaluer vos progrès et adapter nos conseils en conséquence.</p> <p>Nutriform vous suit tout au long de votre programme pour pouvoir évaluer vos progrès et
adapter nos conseils en conséquence.</p>
</div> </div>
</div> </div>
</div> </div>
...@@ -198,4 +225,5 @@ ...@@ -198,4 +225,5 @@
<script src="{% static 'nutriform/assets/js/main.js' %}"></script> <script src="{% static 'nutriform/assets/js/main.js' %}"></script>
</body> </body>
</html> </html>
\ No newline at end of file
{% extends "../nutriform/base.html" %}
{% block content %}
<div class="container">
<form method="post" action="{% url 'register' %}">
{% csrf_token %}
{{ form.non_field_errors }}
{{ form.username.label_tag }}
{{ form.username.errors }}
{{ form.username }}
{{ form.password1.label_tag }}
{{ form.password1.errors }}
{{ form.password1 }}
{{ form.password2.label_tag }}
{{ form.password2.errors }}
{{ form.password2 }}
<input type="submit" value="s'inscrire" style="margin-top: 5px;">
<input type="hidden" name="next" value="{{ next }}">
</form>
</div class="container">
{% endblock %}
\ No newline at end of file
{% extends "../nutriform/base.html" %}
{% block content %}
<div class="container">
<h3>Vous vous êtes déconnecté</h3>
<a href="{% url 'login' %}">Cliquez ici pour vous connecter à nouveau</a>
</div class="container">
{% endblock %}
\ No newline at end of file
...@@ -25,8 +25,10 @@ ...@@ -25,8 +25,10 @@
{{ form.password.label_tag }} {{ form.password.label_tag }}
{{ form.password }} {{ form.password }}
<input type="submit" value="login" style="margin-top: 5px;"> <input type="submit" value="se connecter" style="margin-top: 5px;">
<input type="hidden" name="next" value="{{ next }}"> <input type="hidden" name="next" value="{{ next }}">
<a href="{% url 'register' %}" class="button">S'inscrire</a>
</form> </form>
</div class="container"> </div class="container">
......
...@@ -4,5 +4,7 @@ from . import views ...@@ -4,5 +4,7 @@ from . import views
urlpatterns = [ urlpatterns = [
path('', views.index, name='index'), path('', views.index, name='index'),
path('register/', views.register, name='register'),
path('accounts/profile/', views.compte, name='compte'),
path('accounts/', include('django.contrib.auth.urls')) path('accounts/', include('django.contrib.auth.urls'))
] ]
from django.shortcuts import render from django.shortcuts import render, get_object_or_404, redirect
from django.http import HttpResponse from django.http import HttpResponse
from django.core.mail import send_mail from django.core.mail import send_mail
from django.contrib.auth.decorators import login_required
from .forms import UserForm
def index(request): def index(request):
if request.method == 'POST' : if request.method == 'POST' :
...@@ -14,4 +17,21 @@ def index(request): ...@@ -14,4 +17,21 @@ def index(request):
return render(request, 'nutriform/index.html') return render(request, 'nutriform/index.html')
# Create your views here. def register(request):
if request.method == 'POST':
form = UserForm(request.POST)
if form.is_valid():
user = form.save()
return redirect('login')
else :
form = UserForm()
context = {
'form': form,
}
return render(request, 'nutriform/register.html', context)
@login_required
def compte(request):
return render(request, 'nutriform/compte.html')
...@@ -30,17 +30,20 @@ DEBUG = True ...@@ -30,17 +30,20 @@ DEBUG = True
ALLOWED_HOSTS = [] ALLOWED_HOSTS = []
LOGIN_URL = '/nutriform/accounts/login'
LOGIN_REDIRECT_URL = '/nutriform/accounts/profile'
# Application definition # Application definition
INSTALLED_APPS = [ INSTALLED_APPS = [
'nutriform',
'django.contrib.admin', 'django.contrib.admin',
'django.contrib.auth', 'django.contrib.auth',
'django.contrib.contenttypes', 'django.contrib.contenttypes',
'django.contrib.sessions', 'django.contrib.sessions',
'django.contrib.messages', 'django.contrib.messages',
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'nutriform',
] ]
MIDDLEWARE = [ MIDDLEWARE = [
...@@ -107,7 +110,7 @@ AUTH_PASSWORD_VALIDATORS = [ ...@@ -107,7 +110,7 @@ AUTH_PASSWORD_VALIDATORS = [
# Internationalization # Internationalization
# https://docs.djangoproject.com/en/2.2/topics/i18n/ # https://docs.djangoproject.com/en/2.2/topics/i18n/
LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'fr-fr'
TIME_ZONE = 'UTC' TIME_ZONE = 'UTC'
......
...@@ -15,8 +15,10 @@ Including another URLconf ...@@ -15,8 +15,10 @@ Including another URLconf
""" """
from django.contrib import admin from django.contrib import admin
from django.urls import include, path from django.urls import include, path
from nutriform import views
urlpatterns = [ urlpatterns = [
path('nutriform/', include('nutriform.urls')), path('nutriform/', include('nutriform.urls')),
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
path('', views.index, name='home'),
] ]
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter