【问题标题】:Obtaining file type in django template在 django 模板中获取文件类型
【发布时间】:2012-06-14 08:16:41
【问题描述】:

我需要在django模板中获取上传文件的文件类型。 我已经编写了一个用于获取文件名的模板标签,但我也需要文件类型。

我或许能够获取文件的内容类型,但在调试时找不到。

doc_list.html

{{ d.file|filename }}
{{ d.file|filetype }}

templatetags/helper.py

register = template.Library()

@register.filter
def filename(value):
    return os.path.basename(value.file.name)

@register.filter
def filetype(value):
    return ???

【问题讨论】:

标签: django django-templates django-file-upload


【解决方案1】:

USE mimetypes module

import mimetypes    

>>> mimetypes.guess_type('a.py',strict = True)
('text/x-python', None)

【讨论】:

    【解决方案2】:
    mime = magic.Magic(mime=True)
    mime.from_file("testdata/test.pdf")
    

    返回:

    'application/pdf'
    

    【讨论】:

      猜你喜欢
      • 2015-10-12
      • 2018-03-10
      • 2010-12-21
      • 2012-11-08
      • 2015-02-20
      • 2017-09-14
      • 1970-01-01
      • 2023-03-26
      • 2019-01-14
      相关资源
      最近更新 更多