django - 如何访问存储在 django 文件字段中的多个文件?
问题描述
我们可以在一个文件字段中保存多个文件,multiple
在 HTML 输入标签中使用属性,在视图中使用request.FILES.getlist()
和for
循环。
这可以正常工作,但问题是:
当我们在一个对象的一个文件字段中保存多个文件时,我们如何在模板中访问所有这些文件?我尝试了与下面的代码相同的方法,但它不起作用:
{% for foo in obj.filefield %}
{{ foo }}
{% endfor %}
解决方案
您不能将多个文件存储在同一个FileField
[Django-doc]中。您只能存储一个文件。如果您需要存储多个文件,则制作一个额外的模型:
class MyModel(models.Model):
# …
pass
class MyModelFile(models.Model):
my_model = models.ForeignKey(
MyModel,
related_name='files'
on_delete=models.CASCADE
)
file = models.FileField()
因此,对于一个MyModel
对象,您可以添加多个MyModelFile
s,然后每个存储一个文件。
然后,您可以像这样渲染这些:
{% for file in obj.files.all %}
{{ file.file }}
{ %endfor %}
推荐阅读
- reactjs - 当 id 未知时,CRA + react-intl 崩溃
- python - 如何获取手部图像中点的坐标?
- php - 如何定义 wp-cron?
- c# - OAuth 1.0 GetAuthorizationHeader - WinForm C#
- python - music21:写入midi文件后和弦转音符?
- python - 将 Miniconda 的 Python 更新到 3.9.x,但 Miniconda 是随 Homebrew 安装的
- .net-core - 重复的“System.Reflection.AssemblyCompanyAttribute”属性 (CS0579)
- java - 在 Android Studio 中使用警报管理器设置多个警报会导致问题
- machine-learning - 准确度值在训练过程中上下波动
- cassandra - 如何在单个 Cassandra 语句中进行一系列选择、更新和插入原子操作?