Commit b75e4657 authored by Florent Chehab's avatar Florent Chehab

began doc update

parent edeaebfd
......@@ -4,6 +4,7 @@
* [Installation](installation.md)
* [Chargement des données](load.md)
* [Architecture](architecture.md)
* [Tags](tafs.md)
* [API](API.md)
* [À propos de cette documentation](this_doc.md)
* [Contributions](contributions.md)
\ No newline at end of file
Tags
=====
Afin de simplifier l'architecture générale du backend est d'offrir de nombreuses possibilités d'évolutions, un système de tag a été mis en place.
Un `Tag` est une sorte de module Django abstrait qui contient la définition de ses champs (et des contraintes associées) dans son attribut `config`. Les informations saises par les utilisateurs sont alors stockées sous forme de `JSON`.
Les éléments `City`, `University`, `Campus` et `Country` peuvent être associé à n'importe quel tag : cela se passe dans les classes `*****TaggedItem`.
Le tag se configure via un fichier `JSON` qui prend la forme suivante :
```json
{
"nom du champ":{
"type": "????",
"required": bool,
"validators" : {
"name_validator_1" : ...
}
}
```
À ce jour, `type` et `validators` peuvent-être :
- 'text' :
- `max_length` pour contraindre la longueur maximale de la chaine de caractère.
- 'url' :
- `extension` : pour contraindre l'url (il doit se terminer par une extension de la liste)
- `list` : dans ce cas, TODO
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment