How to show download link for attached file in FileField in Django Admin?

前端 未结 3 1348
独厮守ぢ
独厮守ぢ 2020-12-15 08:42

I have FileField in my django model:

file = models.FileField(upload_to=FOLDER_FILES_PATH)

In Django admin section for changing this model I

3条回答
  •  难免孤独
    2020-12-15 09:19

    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 "download" % (self.file.url,)
            else:
                return "No attachment"
    
        file_link.allow_tags = True
    

    then, in your admin.py

    list_display = [..., file_link, ...]
    

提交回复
热议问题