是否有办法分割上传的文件扩展名,并显示在不同的html元素?



我从index.html页面上传文件,扩展名是.jpg, .pdf, Docx和mp4到我的项目中,并且能够仅显示jpg文件并使用scr,我需要根据扩展名和HTML元素中的显示使用if else条件。因此,我需要拆分文件名并获得扩展名,并相应地使用if-else条件。我无法使用split()拆分index.html页面的文件。请帮助和所有代码包含在下面

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。

我有一个建议给你:我认为最好使用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)

最新更新