Есть ли способ разделить расширение имени загруженного файла и отобразить его в разных 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)