replace some points directly beneath gwift chapter
This commit is contained in:
parent
bbe67bf854
commit
a1e9f3eeb6
|
@ -1,6 +1,6 @@
|
|||
===========
|
||||
Formulaires
|
||||
===========
|
||||
========================================
|
||||
Formulaires: comment valider des données
|
||||
========================================
|
||||
|
||||
Quand on parle de ``forms``, on ne parle pas uniquement de formulaires Web. On pourrait considérer qu'il s'agit de leur objectif principal, mais on peut également voir un peu plus loin: on peut en fait voir les ``forms`` comme le point d'entrée pour chaque donnée arrivant dans notre application: il s'agit en quelque sorte d'un ensemble de règles complémentaires à celles déjà présentes au niveau du modèle.
|
||||
|
||||
|
|
|
@ -10,4 +10,18 @@ La première chose à faire est de définir nos besoins du point de vue de l'uti
|
|||
|
||||
Ensuite, nous pourrons traduire ces besoins en fonctionnalités et finalement effectuer le développement
|
||||
|
||||
.. include:: specs/00-specs.rst
|
||||
.. include:: gwift/00-specs.rst
|
||||
.. include:: gwift/01-models.rst
|
||||
.. include:: gwift/tests.rst
|
||||
|
||||
.. todo:: Ajouter pourquoi on hérite de ``models.Model``, etc.
|
||||
|
||||
.. include:: gwift/key-points.rst
|
||||
|
||||
.. include:: gwift/refactoring.rst
|
||||
|
||||
.. include:: gwift/user-management.rst
|
||||
|
||||
.. include:: gwift/console.rst
|
||||
|
||||
.. include:: gwift/metamodel.rst
|
|
@ -137,3 +137,41 @@ Ceci nous donne après implémentation:
|
|||
email = models.CharField(email = models.CharField(max_length=255, unique=True)
|
||||
|
||||
|
||||
************
|
||||
Modélisation
|
||||
************
|
||||
|
||||
L'ORM de Django permet de travailler uniquement avec une définition de classes, et de faire en sorte que le lien avec la base de données soit géré uniquement de manière indirecte, par Django lui-même. On peut schématiser ce comportement par une classe = une table.
|
||||
|
||||
Comme on l'a vu dans la description des fonctionnalités, on va *grosso modo* avoir besoin des éléments suivants:
|
||||
|
||||
* Des listes de souhaits
|
||||
* Des éléments qui composent ces listes
|
||||
* Des parts pouvant composer chacun de ces éléments
|
||||
* Des utilisateurs pour gérer tout ceci.
|
||||
|
||||
Nous proposons dans un premier temps d'éluder la gestion des utilisateurs, et de simplement se concentrer sur les fonctionnalités principales.
|
||||
Cela nous donne ceci:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
# wish/models.py
|
||||
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Wishlist(models.Model):
|
||||
pass
|
||||
|
||||
|
||||
class Item(models.Model):
|
||||
pass
|
||||
|
||||
|
||||
class Part(models.Model):
|
||||
pass
|
||||
|
||||
|
||||
Les classes sont créées, mais vides. Entrons dans les détails.
|
||||
|
||||
|
|
@ -13,16 +13,13 @@ Contents:
|
|||
:numbered:
|
||||
|
||||
intro
|
||||
specs
|
||||
models
|
||||
tests
|
||||
gwift
|
||||
integration
|
||||
production
|
||||
mvc
|
||||
forms
|
||||
auth
|
||||
admin
|
||||
docs
|
||||
integration
|
||||
production
|
||||
summary
|
||||
|
||||
Indices and tables
|
||||
|
|
|
@ -16,3 +16,5 @@ Django se présente comme un `Framework Web pour perfectionnistes ayant des dead
|
|||
.. include:: intro/02-create-django-app.rst
|
||||
|
||||
.. include:: intro/03-before-going-further.rst
|
||||
|
||||
.. include:: intro/04-docs.rst
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
**********************
|
||||
Une application Django
|
||||
**********************
|
||||
*******************
|
||||
L'espace de travail
|
||||
*******************
|
||||
|
||||
Comme on l'a vu ci-dessus, ``django-admin`` permet de créer un nouveau projet. On fait ici une distinction entre un **projet** et une **application**:
|
||||
|
||||
|
|
|
@ -1,50 +0,0 @@
|
|||
============
|
||||
Modélisation
|
||||
============
|
||||
|
||||
L'ORM de Django permet de travailler uniquement avec une définition de classes, et de faire en sorte que le lien avec la base de données soit géré uniquement de manière indirecte, par Django lui-même. On peut schématiser ce comportement par une classe = une table.
|
||||
|
||||
Comme on l'a vu dans la description des fonctionnalités, on va *grosso modo* avoir besoin des éléments suivants:
|
||||
|
||||
* Des listes de souhaits
|
||||
* Des éléments qui composent ces listes
|
||||
* Des parts pouvant composer chacun de ces éléments
|
||||
* Des utilisateurs pour gérer tout ceci.
|
||||
|
||||
Nous proposons dans un premier temps d'éluder la gestion des utilisateurs, et de simplement se concentrer sur les fonctionnalités principales.
|
||||
Cela nous donne ceci:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
# wish/models.py
|
||||
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Wishlist(models.Model):
|
||||
pass
|
||||
|
||||
|
||||
class Item(models.Model):
|
||||
pass
|
||||
|
||||
|
||||
class Part(models.Model):
|
||||
pass
|
||||
|
||||
|
||||
Les classes sont créées, mais vides. Entrons dans les détails.
|
||||
|
||||
.. todo:: Ajouter pourquoi on hérite de ``models.Model``, etc.
|
||||
|
||||
.. include:: models/models.rst
|
||||
|
||||
.. include:: models/key-points.rst
|
||||
|
||||
.. include:: models/refactoring.rst
|
||||
|
||||
.. include:: models/user-management.rst
|
||||
|
||||
.. include:: models/console.rst
|
||||
|
||||
.. include:: models/metamodel.rst
|
Loading…
Reference in New Issue