Django FileField:如何仅返回文件名(在模板中)
我的模型中有一个类型为 FileField< /代码>
。这给了我一个
File
,它有以下方法:
File.name
:文件的名称,包括相对路径MEDIA_ROOT
。
我想要的是类似“.filename
”的东西,它只会给我文件名,而不是路径,例如:
{% for download in downloads %}
<div class="download">
<div class="title">{{download.file.filename}}</div>
</div>
{% endfor %}
这会给出类似 myfile.jpg
的东西
I've got a field in my model of type FileField
. This gives me an object of type File
, which has the following method:
File.name
: The name of the file including the relative path fromMEDIA_ROOT
.
What I want is something like ".filename
" that will only give me the filename and not the path as well, something like:
{% for download in downloads %}
<div class="download">
<div class="title">{{download.file.filename}}</div>
</div>
{% endfor %}
Which would give something like myfile.jpg
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
在您的模型定义中:
In your model definition:
您可以通过创建模板过滤器来做到这一点:
在
myapp/templatetags/filename.py
中:然后在您的模板中:
You can do this by creating a template filter:
In
myapp/templatetags/filename.py
:And then in your template:
您还可以使用
cut
过滤器< /a> 在你的模板中You could also use the
cut
filter in your template使用 Pathlib 的现代解决方案:
A modern solution using Pathlib:
您可以使用 name 属性从文件字段对象访问文件名。
然后您可以使用获取特定对象文件名。
You can access the filename from the file field object with the name property.
then you can get the particular objects filename using.