Compare commits

...

6 Commits

Author SHA1 Message Date
Sirius Nottin
a686ead3cc Mise à jour du serializer d'événements pour spécifier les champs inclus 2025-03-02 17:34:46 +01:00
Sirius Nottin
72f11eef14 supprime le commentaire 2025-03-01 23:41:36 +01:00
Sirius Nottin
b31b5cfdb5 Ajout de la pagination 2025-03-01 23:41:15 +01:00
Sirius Nottin
296476ebf4 Ajout de l'API pour les événements 2025-03-01 23:21:08 +01:00
Sirius Nottin
89904e25ab Ajout de Pygments aux dépendances de dev 2025-03-01 23:20:08 +01:00
Sirius Nottin
14cf8f6e50 Ajout de djangorestframework 2025-03-01 23:19:50 +01:00
6 changed files with 45 additions and 2 deletions

View File

@ -0,0 +1,18 @@
from rest_framework import serializers
from .models import Event
class EventSerializer(serializers.ModelSerializer):
class Meta:
model = Event
fields = [
"id",
"title",
"category",
"status",
"start_day",
"start_time",
"end_day",
"end_time",
"location",
"organisers",
]

View File

@ -65,8 +65,17 @@ INSTALLED_APPS = [
"template_profiler_panel",
'django_cleanup.apps.CleanupConfig',
'django_unused_media',
'rest_framework',
]
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 10,
"DEFAULT_PERMISSION_CLASSES": [
"rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly",
]
}
HONEYPOT_FIELD_NAME = "alias_name"
MIDDLEWARE = [

View File

@ -3,6 +3,7 @@ from django.conf.urls.static import static
from django.contrib import admin
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.urls import path, include, re_path
from .views import EventListAPIView
from django.views.i18n import JavaScriptCatalog
from django.contrib.sitemaps.views import sitemap
from django.contrib.sitemaps import GenericSitemap
@ -238,6 +239,7 @@ urlpatterns = [
name="cached-sitemap",
),
path("cache/clear", clear_cache, name="clear_cache"),
path('api/events/', EventListAPIView.as_view(), name='event-list-api'),
]

View File

@ -2478,4 +2478,16 @@ def clear_cache(request):
return render(
request,
"agenda_culturel/clear_cache.html",
)
)
from rest_framework import generics
from .serializers import EventSerializer
from rest_framework.pagination import PageNumberPagination
class EventListPagination(PageNumberPagination):
page_size = 10
class EventListAPIView(generics.ListAPIView):
queryset = Event.objects.all()
serializer_class = EventSerializer
pagination_class = EventListPagination

View File

@ -5,3 +5,4 @@ pytest-sugar==0.9.7
coverage[toml]==7.2.5
black==23.3.0
ruff==0.0.265
Pygments==2.19.1

View File

@ -49,4 +49,5 @@ django-debug-toolbar-template-profiler==2.1.0
requests==2.32.3
django-cleanup==9.0.0
django-unused-media==0.2.2
django-resized==1.0.3
django-resized==1.0.3
djangorestframework==3.15.2