first commit

This commit is contained in:
Beyhan Oğur
2026-04-26 22:22:29 +03:00
commit ec28a2024d
208 changed files with 23836 additions and 0 deletions

98
settings/serializers.py Normal file
View File

@@ -0,0 +1,98 @@
from rest_framework import serializers
# from product.models import Category, Product, Images, Tags
from settings.models import Setting
"""
title
content
categories
keywords
brim
price
tags
gallery
images
thumb
video
slug
created_at
updated_at
is_active
is_front
"""
"""
class CateSerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = ['title', 'parent', 'is_active', 'created_at', 'order', 'slug', 'images', 'keywords', 'description']
class GalSerializer(serializers.ModelSerializer):
class Meta:
model = Images
fields = ['title', 'images']
class TagSerializer(serializers.ModelSerializer):
class Meta:
model = Tags
fields = ['tag', 'slug']
class ProductSerializer(serializers.ModelSerializer):
categories = CateSerializer(read_only=True, many=True)
gallery = GalSerializer(read_only=True, many=True)
tags = TagSerializer(read_only=True, many=True)
class Meta:
model = Product
fields = ['title', 'content', 'categories', 'keywords', 'brim', 'tags', 'gallery', 'images', 'thumb', 'video',
'slug', 'created_at', 'updated_at', 'is_active', 'is_front','price']
# fields = '__all__'
class CategorySerializer(serializers.ModelSerializer):
categories = ProductSerializer(read_only=True, many=True)
child = serializers.SerializerMethodField()
class Meta:
model = Category
fields = ['title', 'parent', 'is_active', 'created_at', 'order', 'slug', 'images', 'keywords', 'description',
'categories', 'child']
def get_child(self, obj):
serializer = self.__class__(obj.child.all(), many=True, context=self.context)
return serializer.data
"""
class SettingSerializer(serializers.ModelSerializer):
b_logo = serializers.SerializerMethodField()
w_logo = serializers.SerializerMethodField()
class Meta:
model = Setting
fields = ['title', 'meta_title', 'meta_description', 'phone', 'url', 'email', 'facebook', 'x',
'instagram', 'whatsapp', 'slogan', 'w_logo', 'b_logo', 'created_at',
'updated_at', 'is_active']
def get_w_logo(self, obj):
if obj.w_logo:
request = self.context.get('request')
if request:
return request.build_absolute_uri(obj.w_logo.url)
else:
# Fallback olarak manuel URL oluşturma
return f"http://127.0.0.1:8000{obj.w_logo.url}"
return None
def get_b_logo(self, obj):
if obj.b_logo:
request = self.context.get('request')
if request:
return request.build_absolute_uri(obj.b_logo.url)
else:
# Fallback olarak manuel URL oluşturma
return f"http://127.0.0.1:8000{obj.b_logo.url}"
return None