Skip to content

Instantly share code, notes, and snippets.

@pmutua
Created June 26, 2018 09:02
Show Gist options
  • Select an option

  • Save pmutua/915cb42fedba12a31fcd9beec4b063e4 to your computer and use it in GitHub Desktop.

Select an option

Save pmutua/915cb42fedba12a31fcd9beec4b063e4 to your computer and use it in GitHub Desktop.
## SETTINGS
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
## MODEL
from django.db import models
from django.utils.translation import ugettext_lazy as _
class Logo(models.Model):
class Meta:
verbose_name = "Müşteri Logosu"
verbose_name_plural = "Müşteri Logoları"
LOGO_TYPE_CHOICES = (
('P', 'Partner'),
('C', 'Müşteri'),
('U', 'Sınıflandırılmamış'),
)
type = models.CharField(_('Müşteri Türü'), max_length=1, choices=LOGO_TYPE_CHOICES, default="C")
createdAt = models.DateTimeField(_('Oluşturulma Tarihi'), auto_now_add=True)
company_name = models.CharField(_('Firma Adı'), max_length=100, blank=False)
logo = models.ImageField(_('Şirket Logosu'), upload_to='landing/logos/')
is_landing_visible = models.BooleanField(_('Anasayfa Aktif'), default=False)
def __str__(self):
return self.company_name + ' - ' + self.type
## URLS
from django.urls import path
from landing import views
urlpatterns = [
path('logos/landingpage/visible', views.retrieve_landing_page_logos),
]
## VIEWS
from rest_framework import status, generics, mixins, permissions, viewsets
from rest_framework.response import Response
from rest_framework.decorators import api_view, permission_classes
from landing.models import Logo
from landing.serializers import retrieve_logo_serializers
@api_view(['GET'])
@permission_classes((permissions.AllowAny,))
def retrieve_landing_page_logos(request):
if request.method == 'GET':
try:
logos = Logo.objects.filter(is_landing_visible=True).all()
data = []
for logo in logos:
data.append(retrieve_logo_serializers(logo))
return Response(data, status=status.HTTP_200_OK)
except Logo.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
## SERIALIZERS
from rest_framework import serializers
def retrieve_logo_serializers(instance):
data = {
'type': instance.type,
'company_name': instance.company_name,
'logo': instance.logo,
'is_landing_visible': instance.is_landing_visible,
}
return data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment