diff --git a/README.md b/README.md index 6ad778fcc4a2e1594de730294b8a35c8c4559209..d2cd66228777970f199329fddc874c992adfe86e 100644 --- a/README.md +++ b/README.md @@ -6,4 +6,65 @@ Installer Django : `pip install django` ou `python -m pip install django` ## Lancement du site en local -Lancez `python manage.py runserver` puis allez à localhost:8000/nutriform pour accéder au site. \ No newline at end of file +Lancez `python manage.py runserver` puis allez à localhost:8000/nutriform pour accéder au site. + +## Ajout d'une page + +créer la page `page.html`dans `nutriform/template/nutriform/` +``` +{% extends "../nutriform/base.html" %} + +{% block content %} + +// votre code html + +{% endblock %} +``` +créer une vue dans `views.py`qui appelle cette page +```Python +def page(request): + #des appels à la BDD + + return(request, 'nutriform/page.html', donnees) +``` + +ajouter une ligne dans `urls.py` +```Python + path('urldunavigateur', views.page, name="lenomdelapage"), +``` +```html +<a href="{% url 'lenomdelapage' %}">le lien</a> +``` + +## Ajouter une table à la BDD + +créer une classe python dans `models.py` +```Python +class NouvelleTable(models.Model): + unattribut = models.CharField(max_length=150) + unautre = models.IntegerField() +``` + +On a modifié le modèle, on créé une migration avec `python manage.py makemigrations`. On applique la migration avec `python manage.py migrate`. + +## Accès à la BDD dans les views.py + +```Python +NouvelleTable.objects.filter(unattribut='filtre') +``` +équivalent à +```SQL +SELECT unattribut FROM NouvelleTable WHERE unattribut='filtre' +``` + +Si on souhaite récupérer un élément quand on a sa clé primaire : +```Python +NouvelleTable.objects.get(pk=cleprimaire) +``` + +Si on veut créer un object NouvelleTable : +```Python +newelt = NouvelleTable(unattribut='blabla', unautre=5) +newelt.save() +``` + diff --git a/website/nutriform/forms.py b/website/nutriform/forms.py index 911ceca3992c76499e8003de98531a1a6e3a56b3..c138ba38765ed949702549dc8665d5ac98eb7ede 100644 --- a/website/nutriform/forms.py +++ b/website/nutriform/forms.py @@ -6,8 +6,7 @@ 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 + fields = ('username', 'password1', 'password2', 'email') diff --git a/website/nutriform/models.py b/website/nutriform/models.py index ffa8651764dc32e5e55d6a43c758108c1777a120..d6619ca25b0eebfaf50ee7648aebf35566ed6bfe 100644 --- a/website/nutriform/models.py +++ b/website/nutriform/models.py @@ -1,11 +1,14 @@ from django.db import models +from django.contrib.auth.models import User # Create your models here. +User._meta.get_field('email')._unique = True + class Menu(models.Model): - type_plat = models.CharField() + type_plat = models.CharField(max_length=150) nb_plat = models.IntegerField() - + class Sport(models.Model): - type_sport = models.CharField(maxlength = 150) + type_sport = models.CharField(max_length=150) nb_seances = models.IntegerField() - intensite = models.InteferField() \ No newline at end of file + intensite = models.IntegerField() \ No newline at end of file diff --git a/website/nutriform/templates/nutriform/register.html b/website/nutriform/templates/nutriform/register.html index 15e62d05fd67f82b1fecdbd86ccc1e5ddaec178b..732e8deb1f592953cebffaf0a171232695a84b36 100644 --- a/website/nutriform/templates/nutriform/register.html +++ b/website/nutriform/templates/nutriform/register.html @@ -12,6 +12,10 @@ {{ form.username.errors }} {{ form.username }} + {{ form.email.label_tag }} + {{ form.email.errors }} + {{ form.email }} + {{ form.password1.label_tag }} {{ form.password1.errors }} {{ form.password1 }}