15👍
✅
I’m not sure what exactly you mean by “generate download link”, but to simply link to the file, just use {{ some_file.url }}
as your href
.
6👍
In models.py
:
import os
from django.conf import settings
from django.db import models
class File(models.Model):
... (your existing File model)
@property
def relative_path(self):
return os.path.relpath(self.path, settings.MEDIA_ROOT)
(using the relpath
method to strip MEDIA_ROOT
from the value of self.path
)
In your file_detail.html
(or equivalent) template:
<a href='{{ MEDIA_URL }}{{ file.relative_path }}'>{{ file.name }}</a>
NB as Chris says, it’s better to use a FileField
here. The above will hopefully work for your exact situation, but unless you’re deeply committed to arranging things that way, I’d suggest changing to the dedicated field.
- Why use South during initial development?
- Django Admin inline for recursive ManyToMany
- Difference between django's OneToOneField and django's OneToOneRel
- Django: prefetch related objects of a GenericForeignKey
- Django Admin – add collapse to a fieldset, but have it start expanded
5👍
try using href="{{ STATIC_URL }}/files/somefile"
, or href="{{ MEDIA_URL }}/files/somefile"
for user uploaded content
- Django form.is_valid() always false
- Django Building a queryset with Q objects
- How to read sql query to pandas dataframe / python / django
- Django rest framework group based permissions for individual views
Source:stackexchange.com