如何在Django Admin中的FileField中显示附件文件的下载链接? [英] How to show download link for attached file in FileField in Django Admin?
本文介绍了如何在Django Admin中的FileField中显示附件文件的下载链接?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
file = models.FileField(upload_to = FOLDER_FILES_PATH)
在Django管理部分,要更改此模型,我有完整的路径到此文件(默认情况下):
目前:/home/skyfox/Projects/fast_on_line/order_processor/orders_files/mydog2_2.jpg
如何显示我的管理面板用户下载此文件的链接?
解决方案
如果你有一个模型Case,你可以添加一个方法到你的类创建链接到上传的文件:
class Case(models.Model)
pre>
...
file = models .FileField(upload_to = FOLDER_FILES_PATH)
...
def file_link(self):
if self.file:
return< a href ='% S'>下载和LT; / A>中%(self.file.url,)
else:
返回无附件
file_link.allow_tags = True
然后,在您的admin.py
list_display = [ ...,file_link,...]
I have FileField in my django model:
file = models.FileField(upload_to=FOLDER_FILES_PATH)
In Django admin section for changing this model I have full path to this file (by default):
Currently: /home/skyfox/Projects/fast_on_line/order_processor/orders_files/mydog2_2.jpg
How can I show link for downloading this file for my admin panel users?
解决方案If you have a model "Case" for example, you could add a method to your class which "creates" the link to the uploaded file :
class Case(models.Model) ... file = models.FileField(upload_to=FOLDER_FILES_PATH) ... def file_link(self): if self.file: return "<a href='%s'>download</a>" % (self.file.url,) else: return "No attachment" file_link.allow_tags = True
then, in your admin.py
list_display = [..., file_link, ...]
这篇关于如何在Django Admin中的FileField中显示附件文件的下载链接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文