Onetimesecret на django rest
Я пытаюсь сделать сервис onetimesecret(https://onetimesecret.com/) на DRF. Я не знаю, как я могу добавить кодовое слово, чтобы получить фразу.Я буду очень рад, если вы мне поможете
models.py
class Secret(models.Model):
""" Secret """
secret = models.TextField() # Поле для ввода секрета
code_word = models.CharField(max_length=22) # Поле для ввода кодовой фразы
slug = models.SlugField(max_length=255, unique=True, verbose_name='URL')
def __str__(self):
return f'{self.id} = {self.code_word}'
def get_absolute_url(self):
return reverse('post', kwargs={'post_slug': self.slug})
views.py
from rest_framework import generics
from rest_framework.response import Response
from rest_framework.views import APIView
from .logic import link_generate
from .models import Secret
from .serializers import SecretSerializer
class SecretCreateView(generics.CreateAPIView):
serializer_class = SecretSerializer
def post(self, request, *args, **kwargs):
serializer = SecretSerializer(data=request.data)
if serializer.is_valid():
serializer.validated_data['slug'] = link_generate()
serializer.save()
return Response({
'Slug': serializer.validated_data['slug'],
},
status=201)
return Response(serializer.errors, status=400)
class GetSecretViewSet(APIView):
def get(self, request, slug):
secrets = Secret.objects.get(slug=slug)
serializer = SecretSerializer(secrets)
return Response(serializer.data)