Как установить длительность видео и тип видео в python

Я создал приложение, в котором пользователь может размещать видео, как я могу установить длительность видео? Я имею в виду: Я не хочу, чтобы пользователь размещал видео длительностью более 3 минут, и я хочу, чтобы тип видео был .mp4, если это не .mp4, я хочу, чтобы выдавалось сообщение об ошибке, говорящее: ('мы принимаем только .mp4 файл'). Как я могу сделать это в django. возможно ли это в django или я должен использовать JavaScripts для архивации этого?

вот мои просмотры addvideo:

def addvideo(request):
    if request.method == 'POST':
        file = request.FILES.get('video')
        videos = Video.objects.create(
            file=file
        )
        return redirect('home')
    return render(request, 'addvideo.html') 

это мой домашний вид:

def home(request):
    videos = Video.objects.all()
    return render(request, 'home.html', {'videos': videos})

вот мой шаблон addvideo:

<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-5">
            <form action="" method="POST" enctype="multipart/form-data">
                {% csrf_token %}
            <div class="card">        
                <div class="form-group m-3">
                    <label>Upload Your Video</label><br><br>
                     <input required name="video" type="file" class="form-control-file">
                </div>
                <button type="submit" class="btn btn-primary">Post</button>
            </div>
        </form>
        </div>
    </div>
</div>

это мои домашние шаблоны:

<div class="container">
    {% for video in videos %}
    <div class="row justify-content-center">
        <video controls src="{{video.file.url}}"></video>
    </div>
    {% endfor %}
</div>

вот мой models.py:

class Video(models.Model):
    file = models.FileField(upload_to='file', null=False, blank=False)
Вернуться на верх