Есть ли способ разделить расширение имени загруженного файла и отобразить его в разных html-элементах?

Я загрузил файлы со страницы index.html с расширениями .jpg, .pdf, Docx и mp4 в свой проект и смог отобразить только jpg файлы и использовал scr для этого и мне нужно использовать условие if else в зависимости от расширения и отобразить в HTML элементах. так что мне нужно разделить имя файла и получить это расширение и соответственно использовать условие if-else. У меня не получается разделить файлы для страницы index.html с помощью split(). пожалуйста, помогите, весь код приведен ниже

index.html

{% for i in phone %}

<!-- <img src="{{i.document.url}}" alt="Girl in a jacket" width="200" height="200; display: flex;"> -->
<h1>{{i.document.url}}</h1>

<h2>{{i.document.path}}</h2>



{% endfor %}

views.py

def Home(request): 
    if request.method == 'POST': 
        if len(request.FILES) == 0:
            return redirect("/drive")
        else:
            photo = request.FILES['doc'] 
            Upload.objects.create(document = photo) 
            return redirect("/drive")
   
    

    if request.method == "GET": 
        photo = Upload.objects.all() 
        context = {
             'phone': photo 
             }   

    return render(request, 'Home.drive.html', context)

modles.py

from django.db import models

# Create your models here.
class Upload(models.Model):
    document = models.FileField(upload_to='documents')
  • Примечание: Жду положительного ответа и пожалуйста, я начинающий, поэтому мне нужен полный код вместо подсказки.

Вы можете использовать пользовательский TemplateTag, например this.

У меня есть один совет для вас: Я думаю, что лучше использовать функцию для атрибута upload_to.

def get_image_upload_path(instance, filename):
    return os.path.join('Products', 'images', instance.name, filename)

class YourModel(models.model):
    image = models.ImageField(upload_to=get_image_upload_path)
Вернуться на верх