API for venue views

This commit is contained in:
Corban-Lee Jones 2024-11-06 23:13:55 +00:00
parent 6a3bb974b9
commit 0aa53a8080
6 changed files with 60 additions and 49 deletions

View File

@ -1,27 +1,28 @@
from rest_framework import serializers """Serializers for the API app."""
# from mainapp.models import Venue
from rest_framework import serializers
from apps.home import models
class VenueAddressSerializer(serializers.ModelSerializer):
class Meta:
model = models.VenueAddress
exclude = []
class VenueContactsSerializer(serializers.ModelSerializer):
class Meta:
model = models.VenueContacts
exclude = []
class VenueSerializer(serializers.ModelSerializer):
address = VenueAddressSerializer()
contacts = VenueContactsSerializer()
class Meta:
model = models.Venue
exclude = []
# class VenueSerializer(serializers.ModelSerializer):
# class Meta:
# model = Venue
# fields = (
# "pk",
# "name",
# "description",
# "extra_notes",
# "venue_type",
# "phone_number",
# "email_address",
# "website_url",
# "street_address",
# "city",
# "provence",
# "postal_code",
# "country",
# "latitude",
# "longitude",
# "twitter_url",
# "instagram_url",
# "facebook_url",
# "active",
# )

View File

@ -1,9 +1,14 @@
from django.urls import path, include """URLs for the API app."""
# from .views import VenueListView, VenueDetailView
# urlpatterns = [ from django.urls import path, include
# path('venue/', include([
# path("", VenueListView.as_view()), from . import views
# path("<int:pk>/", VenueDetailView.as_view())
# ])) app_name = "api"
# ]
urlpatterns = [
path("venues/", include([
path("", views.VenueListView.as_view(), name="venues"),
path("<int:pk>/", views.VenueDetailsView.as_view(), name="venue-detail")
]))
]

View File

@ -1,14 +1,16 @@
"""Views for the API app."""
from django.shortcuts import render from django.shortcuts import render
from rest_framework import generics from rest_framework import generics
# from .serializers import VenueSerializer
# from mainapp.models import Venue
# Create your views here. from .serializers import VenueSerializer
from apps.home import models
# class VenueListView(generics.ListCreateAPIView): class VenueListView(generics.ListCreateAPIView):
# serializer_class = VenueSerializer serializer_class = VenueSerializer
# queryset = Venue.objects.all().order_by("name") queryset = models.Venue.objects.all().order_by("id")
# class VenueDetailView(generics.RetrieveUpdateDestroyAPIView):
# serializer_class = VenueSerializer class VenueDetailsView(generics.RetrieveUpdateDestroyAPIView):
# queryset = Venue.objects.all().order_by("name") serializer_class = VenueSerializer
queryset = models.Venue.objects.all().order_by("id")

View File

@ -4,6 +4,8 @@ from django.urls import path
from . import views from . import views
app_name = "home"
urlpatterns = [ urlpatterns = [
path("", views.IndexView.as_view(), name="index"), path("", views.IndexView.as_view(), name="index"),
path("venues", views.VenueWatersView.as_view(), name="venues-waters"), path("venues", views.VenueWatersView.as_view(), name="venues-waters"),

View File

@ -196,11 +196,12 @@ REST_FRAMEWORK = {
"user": "10000/hour" "user": "10000/hour"
}, },
"DEFAULT_RENDERER_CLASSES": [ "DEFAULT_RENDERER_CLASSES": [
"apps.api.renderers.FixedJSONRenderer", "rest_framework.renderers.JSONRenderer",
# "rest_framework.renderers.AdminRenderer", # "rest_framework.renderers.AdminRenderer",
"rest_framework.renderers.BrowsableAPIRenderer" "rest_framework.renderers.BrowsableAPIRenderer"
], ],
"EXCEPTION_HANDLER": "apps.api.exceptions.conflict_exception_handler" "DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.LimitOffsetPagination",
"PAGE_SIZE": 100
} }

View File

@ -17,7 +17,7 @@ from django.contrib import admin
from django.urls import path, include from django.urls import path, include
urlpatterns = [ urlpatterns = [
path('admin/', admin.site.urls), path("admin/", admin.site.urls),
# path('api/', include('api.urls')), path("api/", include("apps.api.urls", namespace="api")),
path('', include('apps.home.urls')), path("", include("apps.home.urls", namespace="home")),
] ]