From 251c151bfa56752425be5518335c4f30ae477fb4 Mon Sep 17 00:00:00 2001 From: SofianeLasri <alasri250@gmail.com> Date: Tue, 13 Jun 2023 21:51:40 +0200 Subject: [PATCH] =?UTF-8?q?Cr=C3=A9ation=20de=20la=20page=20des=20type=20d?= =?UTF-8?q?e=20courses.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 ++- WSR/static/scss/components.scss | 36 +++++++++++++++++++++++++++ WSR/templates/home.html | 4 +-- WSR/templates/race-types.html | 34 +++++++++++++++++++++++++ WSR/templates/vehicles.html | 2 +- WSR/views.py | 44 +++++++++++++-------------------- 6 files changed, 92 insertions(+), 31 deletions(-) create mode 100644 WSR/templates/race-types.html diff --git a/README.md b/README.md index c8d5080..0ee27ef 100644 --- a/README.md +++ b/README.md @@ -5,4 +5,5 @@ Il est nécessaire d'avoir python > 3.10, ainsi que les paquets suivants : - Django - Pillow - django-compressor -- django-libsass \ No newline at end of file +- django-libsass +- markdown \ No newline at end of file diff --git a/WSR/static/scss/components.scss b/WSR/static/scss/components.scss index 6ac1067..c516308 100644 --- a/WSR/static/scss/components.scss +++ b/WSR/static/scss/components.scss @@ -266,4 +266,40 @@ footer { } } } +} + +.race-types-container { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: map-get($spacers, 3); + + .card { + width: auto; + + .header { + margin-bottom: map-get($spacers, 2); + width: 100%; + + img { + width: inherit; + } + } + + .content { + .title { + display: flex; + align-items: center; + gap: map-get($spacers, 1); + color: $black; + font-size: 1.4rem; + + img { + filter: brightness(0); + } + } + .desc { + color: $dark-gray; + } + } + } } \ No newline at end of file diff --git a/WSR/templates/home.html b/WSR/templates/home.html index 4c0105b..dfc90b0 100644 --- a/WSR/templates/home.html +++ b/WSR/templates/home.html @@ -43,10 +43,10 @@ <div class="event-desc"> {% if race.participation_type == 'invitation' %} - <div class="eurostile w-75">{{ race.type_string }}<br>{{ race.name }}</div> + <div class="eurostile w-75">{{ race.type }}<br>{{ race.name }}</div> <div class="event-meta-info">{{ race.location }}, {{ race.circuit }}</div> {% else %} - <div class="eurostile w-75">{{ race.type_string }}<br>{{ race.location }}</div> + <div class="eurostile w-75">{{ race.type }}<br>{{ race.location }}</div> <div class="event-meta-info">{{ race.circuit }}</div> {% endif %} </div> diff --git a/WSR/templates/race-types.html b/WSR/templates/race-types.html new file mode 100644 index 0000000..7fac1ee --- /dev/null +++ b/WSR/templates/race-types.html @@ -0,0 +1,34 @@ +{% extends 'base.html' %} +{% load static %} + +{% block title %}WSR - Épreuves{% endblock %} + +{% block content %} + <div class="container mt-4"> + <div class="p-4 bg-white"> + <h4 class="eurostile title">Épreuves</h4> + <p>Les WSR n'ont pas froids aux yeux, ils sont toujours prêt à affronter n'importe quel épreuve.</p> + + <div class="race-types-container"> + {% for epreuve in epreuves %} + <div class="card"> + <div class="header"> + <img src="{% get_media_prefix %}{{ epreuve.image }}" alt="{{ epreuve.name }}"> + </div> + <div class="content"> + <div class="title eurostile"> + <img src="{% get_media_prefix %}{{ epreuve.icon }}" + alt="Logo {{ epreuve.name }}" width="32"> {{ epreuve.name }} + </div> + <div class="desc"> + {% autoescape off %} + {{ epreuve.description }} + {% endautoescape %} + </div> + </div> + </div> + {% endfor %} + </div> + </div> + </div> +{% endblock %} \ No newline at end of file diff --git a/WSR/templates/vehicles.html b/WSR/templates/vehicles.html index 786f29f..948ab16 100644 --- a/WSR/templates/vehicles.html +++ b/WSR/templates/vehicles.html @@ -30,7 +30,7 @@ </div> <div class="content"> <div class="title eurostile">{{ vehicle.brand }}</div> - <div class="desc text-uppercase">{{ vehicle.model }}</div> + <div class="desc">{{ vehicle.model }}</div> </div> </div> {% endfor %} diff --git a/WSR/views.py b/WSR/views.py index f43a720..d86d7e3 100644 --- a/WSR/views.py +++ b/WSR/views.py @@ -1,3 +1,4 @@ +import markdown from django.shortcuts import render from WSR.models import * @@ -27,32 +28,7 @@ def home(request): for race in three_last_races[1:3]: pos_string = "1er" if race.finishing_position == 1 else str(race.finishing_position) + "ème" - type_string = "" - - match race.type: - case 'championship': - type_string = "Championnat" - case 'single_race': - type_string = "Course simple" - case 'face_to_face': - type_string = "Face à face" - case 'overtaking': - type_string = "Dépassements" - case 'against_time': - type_string = "Contre-la-montre" - case 'elimination': - type_string = "Elimination" - case 'endurance': - type_string = "Endurance" - case 'touge': - type_string = "Touge" - case 'checkpoint': - type_string = "Checkpoints" - case 'drift': - type_string = "Drift" - race.pos_string = pos_string - race.type_string = type_string second_frame_races.append(race) six_last_articles = Article.objects.order_by('-publication_date')[:6] @@ -94,7 +70,20 @@ def view_article(request, id): def races_types(request): - return None + epreuves = RaceType.objects.all() + md = markdown.Markdown() + + for epreuve in epreuves: + epreuve.description = md.convert(epreuve.description) + + return render( + request, + 'race-types.html', + { + 'epreuves': epreuves + } + ) + def vehicles(request): vehicles = Vehicle.objects.all() @@ -106,5 +95,6 @@ def vehicles(request): } ) + def seasons(request): - return None \ No newline at end of file + return None -- GitLab