Python DIsplay либо изображение, либо видеофайл, без пустого плеера/иконки

ive работал над веб-сайтом социальной сети где можно загружать изображения и видео и следить за другими пользователями.

Мне удалось загрузить и отобразить загруженные файлы на сайте.

Я использовал FileField для загрузки изображений и видео файлов, но когда я внедряю его в свой Шаблон он показывает оба пробела, потому что оба используют один и тот же исходный url {{ source.file.url }}

models.py

class Post(models.Model):
    title = models.CharField(max_length=150)
    file =  models.FileField(upload_to='uploads/%Y-%m-%d')

код модели работает идеально

feeds.html

{% if post.file.url %}
    <video class="video-context" width="500px" height="500px" controls>
      <source src="{{ post.file.url }}" type="video/mp4">
  </video>
  {% endif %}
 
  {% if post.file.url %}
  <img class="image-context" src="{{ post.file.url }}" type="image/jpg" type="image/jpeg">
  {% endif %}

показывает скриншот пустой видеоплеер над img

Как можно различать типы загрузки, но при этом использовать FileField?

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