#django #django-models #django-rest-framework #django-views #cpanel
#django #django-models #django-rest-framework #django-просмотры #cpanel
Вопрос:
мой запрос get в django rest framework возвращает URL, который содержит файл (видео mp4), но когда я открываю URL, он запрещает доступ. но только к файлам, в которых есть видео, а не другие типы, такие как image или любой файл (мой api развернут на хосте cpanel). но почему? как я могу это исправить?)
вот мой код:
models.py
class Videos(models.Model):
title = models.CharField(max_length=100, null=True)
video = models.FileField(upload_to='videos', null=True)
я создал здесь filefield и загрузил видео в формате mp4 в django admin
serializers.py
class VideosSerializer(serializers.ModelSerializer):
class Meta:
model = Videos
fields = ('id', 'title', 'video')
и это мои взгляды:
views.py
from rest_framework.generics import ListAPIView
from rest_framework.permissions import AllowAny
from .serializers import VideosSerializer
from .models import Videos
class VideosView(ListAPIView):
permission_classes = (AllowAny,)
serializer_class = VideosSerializer
queryset = Videos.objects.all()
и в конце URL-адреса
urlpatterns = [
path('videos', VideosView.as_view(), name='videos')
]
когда я вызываю запрос, он выдает мне URL-адрес, и он работает нормально. но когда я открываю URL-ссылку
он запрещает доступ с ошибкой 403 forbbiden , и я не использовал никакой аутентификации или пользователя . потому что я просто хочу указать URL. мне не нужны классы аутентификации .
как я уже говорил ранее, это происходит на хосте cpanel, который я развернул не на локальном хосте.
а также это просто происходит с видеофайлами, такими как mp4 format.it отлично работает с image или pdf или чем-либо еще.
может ли кто-нибудь помочь мне исправить это? я предполагаю, что это из-за типа контента или медиа-типа, но я понятия не имею, как это исправить.
Ответ №1:
Хорошо, ребята, для всех, кто читает этот пост, я сам обнаружил проблему и хотел поделиться ею с вами. проблема заключалась в типах mime и разрешениях в хосте cpanel. вы должны установить типы mime и разрешения, чтобы видео могли быть разрешены.