Compare commits
6 Commits
main
...
feat/rest-
Author | SHA1 | Date | |
---|---|---|---|
![]() |
a686ead3cc | ||
![]() |
72f11eef14 | ||
![]() |
b31b5cfdb5 | ||
![]() |
296476ebf4 | ||
![]() |
89904e25ab | ||
![]() |
14cf8f6e50 |
18
src/agenda_culturel/serializers.py
Normal file
18
src/agenda_culturel/serializers.py
Normal 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",
|
||||||
|
]
|
@ -65,8 +65,17 @@ INSTALLED_APPS = [
|
|||||||
"template_profiler_panel",
|
"template_profiler_panel",
|
||||||
'django_cleanup.apps.CleanupConfig',
|
'django_cleanup.apps.CleanupConfig',
|
||||||
'django_unused_media',
|
'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"
|
HONEYPOT_FIELD_NAME = "alias_name"
|
||||||
|
|
||||||
MIDDLEWARE = [
|
MIDDLEWARE = [
|
||||||
|
@ -3,6 +3,7 @@ from django.conf.urls.static import static
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
|
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
|
||||||
from django.urls import path, include, re_path
|
from django.urls import path, include, re_path
|
||||||
|
from .views import EventListAPIView
|
||||||
from django.views.i18n import JavaScriptCatalog
|
from django.views.i18n import JavaScriptCatalog
|
||||||
from django.contrib.sitemaps.views import sitemap
|
from django.contrib.sitemaps.views import sitemap
|
||||||
from django.contrib.sitemaps import GenericSitemap
|
from django.contrib.sitemaps import GenericSitemap
|
||||||
@ -238,6 +239,7 @@ urlpatterns = [
|
|||||||
name="cached-sitemap",
|
name="cached-sitemap",
|
||||||
),
|
),
|
||||||
path("cache/clear", clear_cache, name="clear_cache"),
|
path("cache/clear", clear_cache, name="clear_cache"),
|
||||||
|
path('api/events/', EventListAPIView.as_view(), name='event-list-api'),
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -2479,3 +2479,15 @@ def clear_cache(request):
|
|||||||
request,
|
request,
|
||||||
"agenda_culturel/clear_cache.html",
|
"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
|
@ -5,3 +5,4 @@ pytest-sugar==0.9.7
|
|||||||
coverage[toml]==7.2.5
|
coverage[toml]==7.2.5
|
||||||
black==23.3.0
|
black==23.3.0
|
||||||
ruff==0.0.265
|
ruff==0.0.265
|
||||||
|
Pygments==2.19.1
|
||||||
|
@ -50,3 +50,4 @@ requests==2.32.3
|
|||||||
django-cleanup==9.0.0
|
django-cleanup==9.0.0
|
||||||
django-unused-media==0.2.2
|
django-unused-media==0.2.2
|
||||||
django-resized==1.0.3
|
django-resized==1.0.3
|
||||||
|
djangorestframework==3.15.2
|
Loading…
x
Reference in New Issue
Block a user