Python: Отображение либо видео, либо файла изображения, но он показывает оба

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

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

Я использовал 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

Теперь проблема в том, что оба типа файлов проходят через одну Model: FileField. Источник - {{ source.file.url }} , HTML ищет оба файла, но там только либо изображение, либо видео, так что я могу сделать с другим пустым файлом?

Как я могу это скрыть?

Вы можете использовать ссылку на скачивание без указания типа файла. <a href src="{{ post.file.url }}">

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