25 changed files with 1340 additions and 8 deletions
|
After Width: | Height: | Size: 640 B |
@ -1,6 +1,5 @@
@@ -1,6 +1,5 @@
|
||||
from django.apps import AppConfig |
||||
|
||||
|
||||
class QuizConfig(AppConfig): |
||||
default_auto_field = 'django.db.models.BigAutoField' |
||||
name = 'quiz' |
||||
|
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
from django.contrib import admin |
||||
|
||||
# Register your models here. |
||||
from .models import Atome, Score |
||||
|
||||
class AtomeAdmin(admin.ModelAdmin): |
||||
list_display = ('pk','nom', 'symbole') |
||||
|
||||
admin.site.register(Atome, AtomeAdmin) |
||||
admin.site.register(Score) |
||||
@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
|
||||
from django.apps import AppConfig |
||||
|
||||
class QuizAtomesConfig(AppConfig): |
||||
default_auto_field = 'django.db.models.BigAutoField' |
||||
name = 'quiz_atomes' |
||||
@ -0,0 +1,946 @@
@@ -0,0 +1,946 @@
|
||||
[ |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 1, |
||||
"fields": { |
||||
"nom": "Hydrogène", |
||||
"symbole": "H" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 2, |
||||
"fields": { |
||||
"nom": "Hélium", |
||||
"symbole": "He" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 3, |
||||
"fields": { |
||||
"nom": "Lithium", |
||||
"symbole": "Li" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 4, |
||||
"fields": { |
||||
"nom": "Béryllium", |
||||
"symbole": "Be" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 5, |
||||
"fields": { |
||||
"nom": "Bore", |
||||
"symbole": "B" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 6, |
||||
"fields": { |
||||
"nom": "Carbone", |
||||
"symbole": "C" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 7, |
||||
"fields": { |
||||
"nom": "Azote", |
||||
"symbole": "N" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 8, |
||||
"fields": { |
||||
"nom": "Oxygène", |
||||
"symbole": "O" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 9, |
||||
"fields": { |
||||
"nom": "Fluor", |
||||
"symbole": "F" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 10, |
||||
"fields": { |
||||
"nom": "Néon", |
||||
"symbole": "Ne" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 11, |
||||
"fields": { |
||||
"nom": "Sodium", |
||||
"symbole": "Na" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 12, |
||||
"fields": { |
||||
"nom": "Magnésium", |
||||
"symbole": "Mg" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 13, |
||||
"fields": { |
||||
"nom": "Aluminium", |
||||
"symbole": "Al" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 14, |
||||
"fields": { |
||||
"nom": "Silicium", |
||||
"symbole": "Si" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 15, |
||||
"fields": { |
||||
"nom": "Phosphore", |
||||
"symbole": "P" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 16, |
||||
"fields": { |
||||
"nom": "Soufre", |
||||
"symbole": "S" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 17, |
||||
"fields": { |
||||
"nom": "Chlore", |
||||
"symbole": "Cl" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 18, |
||||
"fields": { |
||||
"nom": "Argon", |
||||
"symbole": "Ar" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 19, |
||||
"fields": { |
||||
"nom": "Potassium", |
||||
"symbole": "K" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 20, |
||||
"fields": { |
||||
"nom": "Calcium", |
||||
"symbole": "Ca" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 21, |
||||
"fields": { |
||||
"nom": "Scandium", |
||||
"symbole": "Sc" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 22, |
||||
"fields": { |
||||
"nom": "Titane", |
||||
"symbole": "Ti" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 23, |
||||
"fields": { |
||||
"nom": "Vanadium", |
||||
"symbole": "V" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 24, |
||||
"fields": { |
||||
"nom": "Chrome", |
||||
"symbole": "Cr" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 25, |
||||
"fields": { |
||||
"nom": "Manganèse", |
||||
"symbole": "Mn" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 26, |
||||
"fields": { |
||||
"nom": "Fer", |
||||
"symbole": "Fe" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 27, |
||||
"fields": { |
||||
"nom": "Cobalt", |
||||
"symbole": "Co" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 28, |
||||
"fields": { |
||||
"nom": "Nickel", |
||||
"symbole": "Ni" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 29, |
||||
"fields": { |
||||
"nom": "Cuivre", |
||||
"symbole": "Cu" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 30, |
||||
"fields": { |
||||
"nom": "Zinc", |
||||
"symbole": "Zn" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 31, |
||||
"fields": { |
||||
"nom": "Gallium", |
||||
"symbole": "Ga" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 32, |
||||
"fields": { |
||||
"nom": "Germanium", |
||||
"symbole": "Ge" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 33, |
||||
"fields": { |
||||
"nom": "Arsenic", |
||||
"symbole": "As" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 34, |
||||
"fields": { |
||||
"nom": "Sélénium", |
||||
"symbole": "Se" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 35, |
||||
"fields": { |
||||
"nom": "Brome", |
||||
"symbole": "Br" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 36, |
||||
"fields": { |
||||
"nom": "Krypton", |
||||
"symbole": "Kr" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 37, |
||||
"fields": { |
||||
"nom": "Rubidium", |
||||
"symbole": "Rb" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 38, |
||||
"fields": { |
||||
"nom": "Strontium", |
||||
"symbole": "Sr" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 39, |
||||
"fields": { |
||||
"nom": "Yttrium", |
||||
"symbole": "Y" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 40, |
||||
"fields": { |
||||
"nom": "Zirconium", |
||||
"symbole": "Zr" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 41, |
||||
"fields": { |
||||
"nom": "Niobium", |
||||
"symbole": "Nb" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 42, |
||||
"fields": { |
||||
"nom": "Molybdène", |
||||
"symbole": "Mo" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 43, |
||||
"fields": { |
||||
"nom": "Technétium", |
||||
"symbole": "Tc" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 44, |
||||
"fields": { |
||||
"nom": "Ruthénium", |
||||
"symbole": "Ru" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 45, |
||||
"fields": { |
||||
"nom": "Rhodium", |
||||
"symbole": "Rh" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 46, |
||||
"fields": { |
||||
"nom": "Palladium", |
||||
"symbole": "Pd" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 47, |
||||
"fields": { |
||||
"nom": "Argent", |
||||
"symbole": "Ag" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 48, |
||||
"fields": { |
||||
"nom": "Cadmium", |
||||
"symbole": "Cd" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 49, |
||||
"fields": { |
||||
"nom": "Indium", |
||||
"symbole": "In" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 50, |
||||
"fields": { |
||||
"nom": "Étain", |
||||
"symbole": "Sn" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 51, |
||||
"fields": { |
||||
"nom": "Antimoine", |
||||
"symbole": "Sn" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 52, |
||||
"fields": { |
||||
"nom": "Tellure", |
||||
"symbole": "Te" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 53, |
||||
"fields": { |
||||
"nom": "Iode", |
||||
"symbole": "I" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 54, |
||||
"fields": { |
||||
"nom": "Xénon", |
||||
"symbole": "Xe" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 55, |
||||
"fields": { |
||||
"nom": "Césium", |
||||
"symbole": "Cs" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 56, |
||||
"fields": { |
||||
"nom": "Baryum", |
||||
"symbole": "Ba" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 57, |
||||
"fields": { |
||||
"nom": "Lanthane", |
||||
"symbole": "La" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 58, |
||||
"fields": { |
||||
"nom": "Cérium", |
||||
"symbole": "Ce" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 59, |
||||
"fields": { |
||||
"nom": "Praséodyme", |
||||
"symbole": "Pr" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 60, |
||||
"fields": { |
||||
"nom": "Néodyme", |
||||
"symbole": "Nd" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 61, |
||||
"fields": { |
||||
"nom": "Prométhium", |
||||
"symbole": "Pm" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 62, |
||||
"fields": { |
||||
"nom": "Samarium", |
||||
"symbole": "Sm" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 63, |
||||
"fields": { |
||||
"nom": "Europium", |
||||
"symbole": "Eu" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 64, |
||||
"fields": { |
||||
"nom": "Gadolinium", |
||||
"symbole": "Gd" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 65, |
||||
"fields": { |
||||
"nom": "Terbium", |
||||
"symbole": "Tb" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 66, |
||||
"fields": { |
||||
"nom": "Dysprosium", |
||||
"symbole": "Dy" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 67, |
||||
"fields": { |
||||
"nom": "Holmium", |
||||
"symbole": "Ho" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 68, |
||||
"fields": { |
||||
"nom": "Erbium", |
||||
"symbole": "Er" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 69, |
||||
"fields": { |
||||
"nom": "Thulium", |
||||
"symbole": "Tm" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 70, |
||||
"fields": { |
||||
"nom": "Ytterbium", |
||||
"symbole": "Yb" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 71, |
||||
"fields": { |
||||
"nom": "Lutécium", |
||||
"symbole": "Lu" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 72, |
||||
"fields": { |
||||
"nom": "Hafnium", |
||||
"symbole": "Hf" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 73, |
||||
"fields": { |
||||
"nom": "Tantale", |
||||
"symbole": "Ta" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 74, |
||||
"fields": { |
||||
"nom": "Tungstène", |
||||
"symbole": "W" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 75, |
||||
"fields": { |
||||
"nom": "Rhénium", |
||||
"symbole": "Re" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 76, |
||||
"fields": { |
||||
"nom": "Osmium", |
||||
"symbole": "Os" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 77, |
||||
"fields": { |
||||
"nom": "Iridium", |
||||
"symbole": "Ir" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 78, |
||||
"fields": { |
||||
"nom": "Platine", |
||||
"symbole": "Pt" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 79, |
||||
"fields": { |
||||
"nom": "Or", |
||||
"symbole": "Au" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 80, |
||||
"fields": { |
||||
"nom": "Mercure", |
||||
"symbole": "Hg" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 81, |
||||
"fields": { |
||||
"nom": "Thallium", |
||||
"symbole": "Tl" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 82, |
||||
"fields": { |
||||
"nom": "Plomb", |
||||
"symbole": "Pb" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 83, |
||||
"fields": { |
||||
"nom": "Bismuth", |
||||
"symbole": "Bi" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 84, |
||||
"fields": { |
||||
"nom": "Polonium", |
||||
"symbole": "Po" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 85, |
||||
"fields": { |
||||
"nom": "Astate", |
||||
"symbole": "At" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 86, |
||||
"fields": { |
||||
"nom": "Radon", |
||||
"symbole": "Rn" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 87, |
||||
"fields": { |
||||
"nom": "Francium", |
||||
"symbole": "Fr" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 88, |
||||
"fields": { |
||||
"nom": "Radium", |
||||
"symbole": "Ra" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 89, |
||||
"fields": { |
||||
"nom": "Actinium", |
||||
"symbole": "Ac" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 90, |
||||
"fields": { |
||||
"nom": "Thorium", |
||||
"symbole": "Th" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 91, |
||||
"fields": { |
||||
"nom": "Protactinium", |
||||
"symbole": "Pa" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 92, |
||||
"fields": { |
||||
"nom": "Uranium", |
||||
"symbole": "U" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 93, |
||||
"fields": { |
||||
"nom": "Neptunium", |
||||
"symbole": "Np" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 94, |
||||
"fields": { |
||||
"nom": "Plutonium", |
||||
"symbole": "Pu" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 95, |
||||
"fields": { |
||||
"nom": "Américium", |
||||
"symbole": "Am" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 96, |
||||
"fields": { |
||||
"nom": "Curium", |
||||
"symbole": "Cm" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 97, |
||||
"fields": { |
||||
"nom": "Berkélium", |
||||
"symbole": "Bk" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 98, |
||||
"fields": { |
||||
"nom": "Californium", |
||||
"symbole": "Cf" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 99, |
||||
"fields": { |
||||
"nom": "Einsteinium", |
||||
"symbole": "Es" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 100, |
||||
"fields": { |
||||
"nom": "Fermium", |
||||
"symbole": "Fm" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 101, |
||||
"fields": { |
||||
"nom": "Mendelévium", |
||||
"symbole": "Md" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 102, |
||||
"fields": { |
||||
"nom": "Nobélium", |
||||
"symbole": "No" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 103, |
||||
"fields": { |
||||
"nom": "Lawrencium", |
||||
"symbole": "Lr" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 104, |
||||
"fields": { |
||||
"nom": "Rutherfordium", |
||||
"symbole": "Rf" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 105, |
||||
"fields": { |
||||
"nom": "Dubnium", |
||||
"symbole": "Db" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 106, |
||||
"fields": { |
||||
"nom": "Seaborgium", |
||||
"symbole": "Sg" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 107, |
||||
"fields": { |
||||
"nom": "Bohrium", |
||||
"symbole": "Bh" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 108, |
||||
"fields": { |
||||
"nom": "Hassium", |
||||
"symbole": "Hs" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 109, |
||||
"fields": { |
||||
"nom": "Meitnérium", |
||||
"symbole": "Mt" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 110, |
||||
"fields": { |
||||
"nom": "Darmstadtium", |
||||
"symbole": "Ds" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 111, |
||||
"fields": { |
||||
"nom": "Roentgenium", |
||||
"symbole": "Rg" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 112, |
||||
"fields": { |
||||
"nom": "Copernicium", |
||||
"symbole": "Cn" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 113, |
||||
"fields": { |
||||
"nom": "Ununtrium", |
||||
"symbole": "Uut" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 114, |
||||
"fields": { |
||||
"nom": "Flérovium", |
||||
"symbole": "Fl" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 115, |
||||
"fields": { |
||||
"nom": "Ununpentium", |
||||
"symbole": "Uup" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 116, |
||||
"fields": { |
||||
"nom": "Livermorium", |
||||
"symbole": "Lv" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 117, |
||||
"fields": { |
||||
"nom": "Ununseptium", |
||||
"symbole": "Uus" |
||||
} |
||||
}, |
||||
{ |
||||
"model": "quiz_atomes.atome", |
||||
"pk": 118, |
||||
"fields": { |
||||
"nom": "Ununoctium", |
||||
"symbole": "Uuo" |
||||
} |
||||
} |
||||
] |
||||
@ -0,0 +1,31 @@
@@ -0,0 +1,31 @@
|
||||
# Generated by Django 4.0.1 on 2022-03-28 13:37 |
||||
|
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
initial = True |
||||
|
||||
dependencies = [ |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.CreateModel( |
||||
name='Atome', |
||||
fields=[ |
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('nom', models.CharField(max_length=20)), |
||||
('symbole', models.CharField(max_length=3)), |
||||
], |
||||
), |
||||
migrations.CreateModel( |
||||
name='Score', |
||||
fields=[ |
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('pseudo', models.CharField(max_length=20)), |
||||
('score', models.IntegerField(default=0)), |
||||
('score_date', models.DateTimeField(verbose_name='Date du score')), |
||||
], |
||||
), |
||||
] |
||||
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
from django.db import models |
||||
|
||||
class Atome(models.Model): |
||||
nom = models.CharField(max_length=20) |
||||
symbole = models.CharField(max_length=3) |
||||
def __str__(self): |
||||
return self.nom+" ("+self.symbole+")" |
||||
|
||||
class Score(models.Model): |
||||
pseudo = models.CharField(max_length=20) |
||||
score = models.IntegerField(default=0) |
||||
score_date = models.DateTimeField('Date du score') |
||||
def __str__(self): |
||||
return self.pseudo+" - "+str(self.score)+" - "+self.score_date.strftime("%Y-%m-%d %H:%M") |
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
body { padding-top: 70px; } |
||||
|
After Width: | Height: | Size: 1.5 MiB |
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
{% extends 'basic_template.html' %}{% block 'body' %}{% load static %} |
||||
<nav class="navbar navbar-light"> |
||||
<div class="container"> |
||||
<a class="navbar-brand text-primary" href="/"> |
||||
<i class="fa fa-university"></i> |
||||
<b>Edu.apps</b> |
||||
</a> |
||||
</div> |
||||
</nav> |
||||
<div id="scoring" class="d-flex justify-content-center align-items-center"> |
||||
<div class="py-3 d-flex flex-column align-items-center"> |
||||
<h1 class="display-4"><b>LE QUIZ DES ATOMES</b> <i class="fa fa-vial"></i></h1> |
||||
<p class="py-3 w-50">Ta mission pour ce jeu ?<br/> |
||||
Connaître les symboles chimiques des atomes qui constituent l'univers. Chaque bonne réponse te rapporte 20 points. Une mauvaise t'en enlève 10 et une absence de réponse t'en enlève 5. Attention au temps ! Chaque seconde passée sur la partie t'enlèvera un point au moment de calculer ton score.<br/>Pour t'entraîner, aide toi de <a href="{% static 'quiz_atomes/tableau_periodique-couleur.png' %}">ce tableau</a>. Bon courage !</p> |
||||
<div class="d-inline"> |
||||
<a href="{% url "quiz_atomes" %}"> |
||||
<input type="button" value="JOUER" href=> |
||||
</a> |
||||
<a href="{% url "scores" %}"> |
||||
<input type="button" value="Scores"> |
||||
</a> |
||||
</div> |
||||
</div> |
||||
</div>{% endblock %} |
||||
@ -0,0 +1,71 @@
@@ -0,0 +1,71 @@
|
||||
{% extends 'basic_template.html' %}{% block 'extra_css' %}{% load static %} |
||||
<link href="{% static '/quiz_atomes/nav_padding.css' %}" rel="stylesheet" type="text/css"> |
||||
{% endblock %}{% block 'body' %} |
||||
<nav class="navbar navbar-light fixed-top bg-light"> |
||||
<div class="container"> |
||||
<a class="navbar-brand text-primary" href="{% url "home" %}"> |
||||
<i class="fa fa-home"></i> |
||||
</a> |
||||
<div class="navbar-brand"> |
||||
<time>00m 00s</time> |
||||
</div> |
||||
<a class="navbar-brand text-primary" href="{% url "settings" %}"> |
||||
<i class="fa fa-gear"></i> |
||||
</a> |
||||
</div> |
||||
</nav> |
||||
<div class="d-flex justify-content-center align-items-center"> |
||||
<form action="{% url "quiz_atomes" %}" method="POST" id="quiz" name="quiz"> |
||||
{% csrf_token %} |
||||
<table class="table table-striped w-auto table-responsive-lg"> |
||||
<thead> |
||||
<tr> |
||||
<th scope="col">Atome</th> |
||||
<th scope="col">Symbole</th> |
||||
</tr> |
||||
</thead> |
||||
<tbody>{% if atome_list %}{% for atome in atome_list %} |
||||
<tr> |
||||
<td>{{atome.nom}}</td> |
||||
<td><input name="input{{ forloop.counter }}" maxlength="3" value=""></td> |
||||
</tr>{% endfor %}{% endif %} |
||||
<tr> |
||||
<td colspan="2"><input type="submit" name="ok" value="OK"></td> |
||||
</tr> |
||||
</tbody> |
||||
</table> |
||||
</form> |
||||
</div>{% endblock %}{% block 'extra_scripts' %}{% load static %} |
||||
<script> |
||||
var chrono = document.getElementsByTagName('time')[0]; |
||||
var sec = 0; |
||||
var min = 0; |
||||
var t; |
||||
|
||||
function tick(){ |
||||
sec++; |
||||
if (sec >= 60) { |
||||
sec = 0; |
||||
min++; |
||||
if (min >= 60) { |
||||
min = 0; |
||||
} |
||||
} |
||||
} |
||||
function add() { |
||||
tick(); |
||||
chrono.textContent = (min > 9 ? min : "0" + min) |
||||
+ "m " + (sec > 9 ? sec : "0" + sec) +"s"; |
||||
timer(); |
||||
} |
||||
function timer() { |
||||
t = setTimeout(add, 1000); |
||||
} |
||||
|
||||
timer(); |
||||
|
||||
$(document).ready(function() { |
||||
timer; |
||||
}); |
||||
</script> |
||||
{% endblock %} |
||||
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
{% extends 'basic_template.html' %}{% block 'body' %} |
||||
<nav class="navbar navbar-light"> |
||||
<div class="container"> |
||||
<a class="navbar-brand text-primary" href="{% url "home" %}"> |
||||
<i class="fa fa-home"></i> |
||||
</a> |
||||
</div> |
||||
</nav> |
||||
<div id="scoring" class="d-flex justify-content-center align-items-center"> |
||||
<div class="py-2 d-flex flex-column align-items-center"> |
||||
<h4 id="points"><b>POINTS : {{points}}</b></h4> |
||||
<h4 id="dt"><b>TEMPS : {{dt}}</b></h4> |
||||
<h1 id="score"><b>SCORE : {{score}}</b></h1>{% if best_score %} |
||||
<h4><i class="fa-solid fa-star"></i><b> Nouveau <i class="fa-solid fa-star"></i><br/>meilleur score !</b> </h4>{% else %} |
||||
<h4><b>Essaie encore !</b></h4> |
||||
{% endif %} |
||||
<div class="d-inline"> |
||||
<a href="{% url "scores" %}"> |
||||
<input type="button" value="Scores"> |
||||
</a> |
||||
<a href="{% url "quiz_atomes" %}"> |
||||
<input type="button" value="Rejouer"> |
||||
</a> |
||||
</div> |
||||
</div> |
||||
</div>{% endblock %} |
||||
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
{% extends 'basic_template.html' %}{% block 'body' %} |
||||
<nav class="navbar navbar-light"> |
||||
<div class="container"> |
||||
<a class="navbar-brand text-primary" href="{% url "home" %}"> |
||||
<i class="fa fa-home"></i> |
||||
</a> |
||||
</div> |
||||
</nav> |
||||
<div class="d-flex flex-column justify-content-center align-items-center"> |
||||
<h3><b>Tableau des meilleurs scores</b></h3> |
||||
<table class="table table-striped w-auto table-responsive-lg"> |
||||
<thead> |
||||
<tr> |
||||
<th scope="col">Rang</th> |
||||
<th scope="col">Score</th> |
||||
<th scope="col">Pseudo</th> |
||||
<th scope="col">Date</th> |
||||
</tr> |
||||
</thead> |
||||
<tbody>{% if score_list %}{% for score in score_list %} |
||||
<tr> |
||||
<td>{{ forloop.counter }}</td> |
||||
<td>{{ score.score }}</td> |
||||
<td>{{ score.pseudo }}</td> |
||||
<td>{{ score.score_date }}</td> |
||||
</tr>{% endfor %}{% endif %} |
||||
</tbody> |
||||
</table> |
||||
</div>{% endblock %} |
||||
@ -0,0 +1,46 @@
@@ -0,0 +1,46 @@
|
||||
{% extends 'basic_template.html' %}{% block 'body' %} |
||||
<nav class="navbar navbar-light"> |
||||
<div class="container"> <a class="navbar-brand text-primary" href="{% url "quiz_atomes" %}"> |
||||
<i class="fa fa-arrow-left"></i> |
||||
</a> |
||||
</div> |
||||
</nav> |
||||
<div class="d-flex flex-column justify-content-center align-items-center"> |
||||
<h3><b>Paramètres du quiz</b></h3> |
||||
<form action="{% url "settings" %}" method="POST" name="settings">{% csrf_token %} |
||||
<table class="table w-auto table-responsive-lg"> |
||||
<tr> |
||||
<td>NOM :</td> |
||||
<td><input id="nom" name="nom" maxlength="20"></td> |
||||
</tr> |
||||
<tr> |
||||
<td>Prénom :</td> |
||||
<td><input id="prenom" name="prenom" maxlength="20"></td> |
||||
</tr> |
||||
<tr> |
||||
<td>Nombre<br/>d'atomes :</td> |
||||
<td class="align-middle"> |
||||
<div class="form-check form-check-inline"> |
||||
<input class="form-check-input" type="radio" name="nb" id="inlineRadio1" value="10" checked> |
||||
<label class="form-check-label" for="inlineRadio1">10</label> |
||||
</div> |
||||
<div class="form-check form-check-inline"> |
||||
<input class="form-check-input" type="radio" name="nb" id="inlineRadio1" value="20"> |
||||
<label class="form-check-label" for="inlineRadio2">20</label> |
||||
</div> |
||||
<div class="form-check form-check-inline"> |
||||
<input class="form-check-input" type="radio" name="nb" id="inlineRadio1" value="30"> |
||||
<label class="form-check-label" for="inlineRadio1">30</label> |
||||
</div> |
||||
<div class="form-check form-check-inline"> |
||||
<input class="form-check-input" type="radio" name="nb" id="inlineRadio1" value="40"> |
||||
<label class="form-check-label" for="inlineRadio2">40</label> |
||||
</div> |
||||
</td> |
||||
</tr> |
||||
<tr> |
||||
<td colspan="2"><input type="submit" value="OK"></td> |
||||
</tr> |
||||
</table> |
||||
</form> |
||||
</div>{% endblock %} |
||||
@ -0,0 +1,3 @@
@@ -0,0 +1,3 @@
|
||||
from django.test import TestCase |
||||
|
||||
# Create your tests here. |
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
from django.urls import path |
||||
|
||||
from . import views |
||||
|
||||
urlpatterns = [ |
||||
path('', views.home, name='home'), |
||||
path('quiz_atomes/', views.quiz_atomes, name='quiz_atomes'), |
||||
path('settings/', views.settings, name='settings'), |
||||
path('scores/', views.scores, name='scores'), |
||||
] |
||||
@ -0,0 +1,98 @@
@@ -0,0 +1,98 @@
|
||||
from django.http import HttpResponse |
||||
from django.template.response import TemplateResponse |
||||
from django.template import loader |
||||
from .models import Atome, Score |
||||
from random import shuffle |
||||
from datetime import datetime |
||||
from django.shortcuts import redirect |
||||
import time |
||||
from django.views.decorators.cache import never_cache |
||||
from django.db.models import Min |
||||
|
||||
def home(request): |
||||
return TemplateResponse(request, 'quiz_atomes/home.html', {'favicon':'vial-solid.svg'}) |
||||
|
||||
def settings(request): |
||||
if request.method =='POST': |
||||
if not request.POST.get('prenom') or not request.POST.get('nom'): |
||||
request.session['pseudo'] = "Anonyme" |
||||
else: |
||||
request.session['pseudo'] = request.POST.get('prenom')[0].upper()+". "+request.POST.get('nom').upper() |
||||
request.session['difficulte'] = request.POST.get('nb') |
||||
return redirect('quiz_atomes') |
||||
else: |
||||
return TemplateResponse(request, 'quiz_atomes/settings.html', {'favicon':'vial-solid.svg'}) |
||||
|
||||
@never_cache |
||||
def quiz_atomes(request): |
||||
|
||||
if request.POST.get('ok'): |
||||
return resultats(request) |
||||
|
||||
if 'pseudo' not in request.session or 'difficulte' not in request.session: |
||||
return redirect('settings') |
||||
|
||||
atome_list = Atome.objects.all() |
||||
random_list = list(atome_list) |
||||
shuffle(random_list) |
||||
random_list = random_list[:int(request.session['difficulte'])] |
||||
|
||||
symbole_list = [] |
||||
for x in random_list: |
||||
symbole_list.append(x.symbole) |
||||
|
||||
request.session['quiz'] = symbole_list |
||||
request.session['time'] = time.time() |
||||
|
||||
template = loader.get_template('quiz_atomes/quiz_atomes.html') |
||||
context = { |
||||
'pseudo': request.session['pseudo'], |
||||
'diff': request.session['difficulte'], |
||||
'atome_list': random_list, |
||||
'favicon':'vial-solid.svg' |
||||
} |
||||
return HttpResponse(template.render(context, request)) |
||||
|
||||
def resultats(request): |
||||
|
||||
points = 0 |
||||
dt = round(time.time()-request.session['time']-1)*-1 |
||||
|
||||
for i in range(int(request.session['difficulte'])): |
||||
if request.POST.get('input'+str(i+1)).casefold()==request.session['quiz'][i].casefold(): |
||||
points+=20 |
||||
elif request.POST.get('input'+str(i+1)).casefold()=="": |
||||
points-=5 |
||||
else: |
||||
points-=10 |
||||
|
||||
score=points+dt |
||||
|
||||
best_score=0 |
||||
if score>0: |
||||
score_list = Score.objects.all().order_by('-score')[:10] |
||||
min_selection_score = score_list.aggregate(Min("score")).get('score__min') |
||||
if score>=min_selection_score: |
||||
new_score = Score(pseudo=request.session['pseudo'], score=int(score), score_date=datetime.now()) |
||||
new_score.save() |
||||
best_score=1 |
||||
|
||||
template = loader.get_template('quiz_atomes/resultats.html') |
||||
context = { |
||||
'points': points, |
||||
'dt': dt, |
||||
'score': score, |
||||
'best_score': best_score, |
||||
'favicon':'vial-solid.svg' |
||||
} |
||||
return HttpResponse(template.render(context, request)) |
||||
|
||||
def scores(request): |
||||
|
||||
score_list = Score.objects.all().order_by('-score')[:10] |
||||
template = loader.get_template('quiz_atomes/scores.html') |
||||
context = { |
||||
'score_list': score_list, |
||||
'favicon':'vial-solid.svg' |
||||
} |
||||
return HttpResponse(template.render(context, request)) |
||||
Loading…
Reference in new issue