Вы можете получить такое имя с помощью os.path.splitext
[Python-doc] , чтобы разделить имя файла на «корень» и «расширение». Но у вас, конечно, нет доступа к этому в шаблоне Django. Но вы можете определить шаблон фильтра .
В вашем приложении вы можете определить такой фильтр шаблона в файле в модуле с именем templatetags
, например ospath.py
:
# app/templatetags/ospath.py
from os.path import splitext
from django import template
register = template.Library()
@register.filter
def <b>noext</b>(value):
return splitext(value)[0]
В своем шаблоне вы можете загрузить теги шаблона с помощью {% load ospath %}
, а затем использовать фильтр шаблона noext
:
{% load <b>ospath</b> %}
{{ post.image.name<b>|noext</b> }}
Обратите внимание, что расширение - это только часть после последней точки. Некоторые файлы не имеют расширения, за исключением случаев, когда эта точка является первым символом имени файла. Официального списка расширений нет.
.