diff --git a/.gitignore b/.gitignore index 3d112ad7d6af7e49b6683fb94443da12702de33f..318996b3474a01ec040aab43e6f022fb5db6c0cb 100644 --- a/.gitignore +++ b/.gitignore @@ -213,3 +213,4 @@ ENV/ # End of https://www.gitignore.io/api/macos,linux,django,python,pycharm /static/ +/uploads/ diff --git a/WSR/admin.py b/WSR/admin.py index 8c38f3f3dad51e4585f3984282c2a4bec5349c1e..88c7819f7ee2f0ff60d3ee3c5aa357cbbbfa1b4e 100644 --- a/WSR/admin.py +++ b/WSR/admin.py @@ -1,3 +1,12 @@ from django.contrib import admin +from WSR.models import * + # Register your models here. +admin.site.register(Article) +admin.site.register(Course) +admin.site.register(Resultat) +admin.site.register(Vehicule) +admin.site.register(Pilote) +admin.site.register(Participation) +admin.site.register(Saison) \ No newline at end of file diff --git a/WSR/migrations/0002_course_date_course_type_alter_course_image_and_more.py b/WSR/migrations/0002_course_date_course_type_alter_course_image_and_more.py new file mode 100644 index 0000000000000000000000000000000000000000..2cf92209c1eb0f0596a0b9a538252241e4436110 --- /dev/null +++ b/WSR/migrations/0002_course_date_course_type_alter_course_image_and_more.py @@ -0,0 +1,60 @@ +# Generated by Django 4.2.1 on 2023-06-06 19:52 + +import datetime +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('WSR', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='course', + name='date', + field=models.DateField(default=datetime.date.today), + ), + migrations.AddField( + model_name='course', + name='type', + field=models.CharField(choices=[('invitation', 'Invitation'), ('championnat', 'Championnat'), ('course_simple', 'Course Simple')], default='course_simple', max_length=100), + ), + migrations.AlterField( + model_name='course', + name='image', + field=models.ImageField(upload_to='course_images', verbose_name="Image d'illustration"), + ), + migrations.AlterField( + model_name='pilote', + name='vehicule', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='WSR.vehicule', verbose_name='Véhicule'), + ), + migrations.AlterField( + model_name='resultat', + name='position_arrivee', + field=models.PositiveIntegerField(verbose_name="Position à l'arrivée"), + ), + migrations.AlterField( + model_name='resultat', + name='position_depart', + field=models.PositiveIntegerField(verbose_name='Position de départ'), + ), + migrations.AlterField( + model_name='saison', + name='annee', + field=models.PositiveIntegerField(verbose_name='Année'), + ), + migrations.AlterField( + model_name='vehicule', + name='annee_fabrication', + field=models.PositiveIntegerField(verbose_name='Année de fabrication'), + ), + migrations.AlterField( + model_name='vehicule', + name='modele', + field=models.CharField(max_length=100, verbose_name='Modèle'), + ), + ] diff --git a/WSR/migrations/0003_resultat_score.py b/WSR/migrations/0003_resultat_score.py new file mode 100644 index 0000000000000000000000000000000000000000..a2a1d54a6b6a311005428e1e4221dc56e5b6dad8 --- /dev/null +++ b/WSR/migrations/0003_resultat_score.py @@ -0,0 +1,20 @@ +# Generated by Django 4.2.1 on 2023-06-06 20:05 +import random + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('WSR', '0002_course_date_course_type_alter_course_image_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='resultat', + name='score', + field=models.IntegerField(default=random.randrange(500, 8000, 500)), + preserve_default=False, + ), + ] diff --git a/WSR/models.py b/WSR/models.py index 2c9133fa2d0337ec3f7f3a8d75a4d6cd4dedb100..96755091b94b0bbdf95994ec26d9a454d9804fc1 100644 --- a/WSR/models.py +++ b/WSR/models.py @@ -1,8 +1,10 @@ +import datetime + from django.db import models class Saison(models.Model): nom = models.CharField(max_length=100) - annee = models.PositiveIntegerField() + annee = models.PositiveIntegerField(verbose_name="Année") def __str__(self): return self.nom @@ -10,7 +12,7 @@ class Saison(models.Model): class Pilote(models.Model): nom = models.CharField(max_length=100) - vehicule = models.ForeignKey('Vehicule', on_delete=models.CASCADE) + vehicule = models.ForeignKey('Vehicule', on_delete=models.CASCADE, verbose_name="Véhicule") def __str__(self): return self.nom @@ -18,18 +20,25 @@ class Pilote(models.Model): class Vehicule(models.Model): marque = models.CharField(max_length=100) - modele = models.CharField(max_length=100) - annee_fabrication = models.PositiveIntegerField() + modele = models.CharField(max_length=100, verbose_name="Modèle") + annee_fabrication = models.PositiveIntegerField(verbose_name="Année de fabrication") def __str__(self): return f"{self.marque} {self.modele}" class Course(models.Model): + class TypeCourse(models.TextChoices): + INVITATION = "invitation" + CHAMPIONNAT = "championnat" + COURSE_SIMPLE = "course_simple" + nom = models.CharField(max_length=100) circuit = models.CharField(max_length=100) saison = models.ForeignKey(Saison, on_delete=models.CASCADE) - image = models.ImageField(upload_to='course_images') + image = models.ImageField(upload_to='course_images', verbose_name="Image d'illustration") + type = models.CharField(max_length=100, choices=TypeCourse.choices, default=TypeCourse.COURSE_SIMPLE) + date = models.DateField(default=datetime.date.today) def __str__(self): return self.nom @@ -47,8 +56,9 @@ class Article(models.Model): class Resultat(models.Model): pilote = models.ForeignKey(Pilote, on_delete=models.CASCADE) course = models.ForeignKey(Course, on_delete=models.CASCADE) - position_arrivee = models.PositiveIntegerField() - position_depart = models.PositiveIntegerField() + position_arrivee = models.PositiveIntegerField(verbose_name="Position à l'arrivée") + position_depart = models.PositiveIntegerField(verbose_name="Position de départ") + score = models.IntegerField() def __str__(self): return f"{self.pilote} - {self.course}" diff --git a/WSR/templates/home.html b/WSR/templates/home.html index 27d48da967a481f51fd7b7c63cde2715f857203c..c40ea9fa3220ac16dca5bdb8fe52b983228480ac 100644 --- a/WSR/templates/home.html +++ b/WSR/templates/home.html @@ -5,7 +5,7 @@ <html lang="fr"> <head> <meta charset="UTF-8"> - <title>Title</title> + <title>World Series Racing</title> {% compress css %} <link type="text/x-scss" href="{% static 'scss/app.scss' %}" rel="stylesheet" media="screen"> {% endcompress %} diff --git a/WSR_website/settings.py b/WSR_website/settings.py index 316fa7432028ee4afe7f05c9ae7c8ff4895085eb..a1f92b2c0ddb3b421d69b1be31956869ebe6d43b 100644 --- a/WSR_website/settings.py +++ b/WSR_website/settings.py @@ -134,3 +134,6 @@ STATIC_URL = 'static/' # https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' + +MEDIA_ROOT = BASE_DIR/'uploads' +MEDIA_URL = '/uploads/'