Django:显示上载文件的文件名
在我的模型中,我定义了一个Django:显示上载文件的文件名,django,django-models,django-templates,django-views,django-class-based-views,Django,Django Models,Django Templates,Django Views,Django Class Based Views,在我的模型中,我定义了一个文件字段,我的模板将其显示为链接。我的问题是链接文件将url显示为名称。html页面上显示的内容是: 上传文件:./picture.jpg 我已经查看了有关文件名和以前的S.O.的信息,但就是想不出来 我怎样才能: 让它显示不同的名称,而不是url 允许上传文件的管理员为其命名,然后在模板上查看 my models.py: class model_name(models.Model): attachment = models.FileField() my vi
文件字段
,我的模板将其显示为链接。我的问题是链接文件将url显示为名称。html页面上显示的内容是:
上传文件:./picture.jpg
我已经查看了有关文件名和以前的S.O.的信息,但就是想不出来
我怎样才能:
class model_name(models.Model):
attachment = models.FileField()
my views.py(如果条目存在,则显示它,如果不存在,则返回消息):
my page.html:
<p>Uploaded File: <a href="{{ variable.attachment.url }}">{{ variable.attachment }}</a></p>
<p>Uploaded File: <a href="{{ model.Attachment.url }}">{{ model.Attachment }}</a></p>
上传的文件:
在page.html中:
<p>Uploaded File: <a href="{{ variable.attachment.url }}">{{ variable.attachment }}</a></p>
<p>Uploaded File: <a href="{{ model.Attachment.url }}">{{ model.Attachment }}</a></p>
上传的文件:
应改为:
<p>Uploaded File: {{ variable }}</p>
上传文件:{{variable}
对于您的代码:
class model_name(models.Model):
attachment = models.FileField()
attachment
是一个FileField
对象,它有一个名为filename
的属性,所以只需请求该属性即可。i、 e
foo = model_name.objects.create(attachment=some_file)
foo.attachment.filename # filename as a string is returned
为了解决这个问题,我只是在
models.py
中添加了一个额外的字段。这允许用户为其命名。在页面上显示时,调用附件和附件名称,如下所示。希望这有帮助。没有URL混乱
class model_name(models.Model):
Attachment = models.FileField()
Attachment_Name = models.CharField()
在我的html文件中:
<p>Uploaded File: <a href="{{ variable.Attachment.url }}">{{variable.Attachment_Name }}</a></p>
上传的文件:
这有所帮助,但仍有一些问题。我知道我需要调用文件名attire,但我不应该在定义foo时调用它吗?还有,我把第二行代码放在哪里?在模板中?你是对的,我应该只显示变量,但是,我定义的变量是我现在遇到的当前问题。我希望我能投票,但我还没有足够的代表,哈哈