Передача видео из Django в Angular

Я создаю веб-приложение, в котором мне нужно загрузить видео на сервер, а затем, после некоторого анализа, передать его на фронтенд, который представляет собой приложение Angular. Я вижу, как выполнить загрузку, но не могу найти учебник или совет, как это сделать. Сервер построен на Django и django-rest-framework. Спасибо за помощь!

Если вы хотите загрузить видео/короткий ролик на сервер Django Rest API через angular, то выполните следующие шаги. Я добавил код бэкенда здесь.

1. Создание класса в Django

class VideoClipModel(models.Model):
    detail = models.CharField(max_length=255, blank=True)
    video = models.FileField(upload_to='VideoClip', null=True, blank=True)

затем выполните makemigrations и мигрируйте Если вы хотите видеть модель в панели администратора, то добавьте имя модели в файл Admin.py, как

admin.site.register(VideoClipModel)

и импортировать также


2. Создайте файл Serializer.py в том же приложении добавьте его следующим образом

class VideoClipSerializer(serializers.ModelSerializer):
    class Meta:
        model = VideoClipModel
        fields = '__all__'

    def create(self, validated_data):
        return VideoClipModel.objects.create(**validated_data)

после создания файла сериализатора выполните 3 шаг


3. Создание представления в файле Django view.py

class videoClipView(APIView):
      serializer_class = VideoClipSerializer

    def get(self, request, format=None):
        queryset = VideoClipModel.objects.all()
        serializer = self.serializer_class(queryset, many=True)
        return Response(serializer.data, status=status.HTTP_200_OK)

    def post(self, request, format=None):
        jsondata = request.data
        serializer = self.serializer_class(data=jsondata)
        if serializer.is_valid(raise_exception=True):
             serializer.save()
             msg = {'msg':'Add Clip'}
             return Response(msg, status=status.HTTP_201_CREATED)

Последние и заключительные шаги в django делают URL


4. добавьте URL в файл urls.py

path('profile/videoclip/', videoClipView.as_view()),

после добавления пути import path as well


в Angular вы хотите делать get или post запросы к бэкенду, и передача данных из angular в формате FormData необходима. я думаю, это поможет вам

.
Вернуться на верх