From 4be76f97c83fa83db93e5206be5806d1da73cbad Mon Sep 17 00:00:00 2001 From: Kseninia Mikhaylova Date: Tue, 25 Jun 2024 16:02:40 +0300 Subject: [PATCH 1/2] add base viewset --- back/back/urls.py | 9 ++++++++- back/frontImages/serializers.py | 8 ++++++++ back/frontImages/views.py | 9 ++++++++- 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 back/frontImages/serializers.py diff --git a/back/back/urls.py b/back/back/urls.py index 767bc7b..c5343f0 100644 --- a/back/back/urls.py +++ b/back/back/urls.py @@ -15,11 +15,18 @@ Including another URLconf 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin -from django.urls import path +from django.urls import include, path from django.conf.urls.static import static from api import views +from rest_framework import routers + +from frontImages import views as frontimg_views + +router = routers.DefaultRouter() +router.register(r'api/front_img', frontimg_views.ImageViewSet) urlpatterns = [ + path('', include(router.urls)), path("admin/", admin.site.urls), path("api/products", views.products), ] + static('/files', document_root='files') diff --git a/back/frontImages/serializers.py b/back/frontImages/serializers.py new file mode 100644 index 0000000..fffbd74 --- /dev/null +++ b/back/frontImages/serializers.py @@ -0,0 +1,8 @@ +from rest_framework import serializers +from .models import Image + + +class ImageSerializer(serializers.ModelSerializer): + class Meta: + model = Image + fields = "__all__" diff --git a/back/frontImages/views.py b/back/frontImages/views.py index 91ea44a..bfeb0a1 100644 --- a/back/frontImages/views.py +++ b/back/frontImages/views.py @@ -1,3 +1,10 @@ from django.shortcuts import render -# Create your views here. +from rest_framework import viewsets + +from .models import Image +from .serializers import ImageSerializer + +class ImageViewSet(viewsets.ModelViewSet): + queryset = Image.objects.all() + serializer_class = ImageSerializer \ No newline at end of file From 1c930354c075c19e2e47b469b47d6bd6cca3b3bd Mon Sep 17 00:00:00 2001 From: Kseninia Mikhaylova Date: Tue, 25 Jun 2024 16:05:29 +0300 Subject: [PATCH 2/2] add images --- back/frontImages/models.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/back/frontImages/models.py b/back/frontImages/models.py index 88533d1..ec517a1 100644 --- a/back/frontImages/models.py +++ b/back/frontImages/models.py @@ -1,7 +1,17 @@ from django.db import models +import logging + +logger = logging.getLogger("root") + +def group_based_upload_to(instance, filename): + logger.info(instance) + return "files/image/{}/{}/{}".format( + type(instance).__name__.lower(), instance.id, filename + ) + class Image(models.Model): - file = models.ImageField(upload_to='images/') + file = models.ImageField(upload_to=group_based_upload_to) alt = models.CharField(max_length=255) title = models.CharField(max_length=255) @@ -10,7 +20,7 @@ class Image(models.Model): class Element3D(models.Model): - model_file = models.FileField(upload_to='models/') + model_file = models.FileField(upload_to=group_based_upload_to) name = models.CharField(max_length=255) description = models.TextField()