Передача видео из 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 необходима. я думаю, это поможет вам
.