【发布时间】:2019-04-06 09:21:02
【问题描述】:
在 TrainerProfileModel 中,我有一个名为 cv 的文件字段。我想让用户在点击链接时直接下载文件。你能提供任何方法来实现这一点吗?
models.py:
class TrainerProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE,
null=True, related_name='trainer_profile')
profile_picture = models.ImageField(blank=True)
phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$', message="Phone
number must be entered in the format: '+999999999'. Up to 15 digits
allowed.")
mobile_number = models.CharField(validators=[phone_regex],
max_length=17, blank=True)
location = models.CharField(max_length=200,null=True,blank=True)
gender = models.CharField(choices=GENDER_CHOICES,max_length=150,
blank=True)
cv = models.FileField(blank=True)
approval=models.BooleanField(default=False)
def __str__(self):
return self.user.username
在我的模板中:
<li class="list-group-item">
<b>Download CV</b>
<a class="pull-right">{{ trainer.cv }}</a>
</li>
【问题讨论】:
-
是的,使用
a标记的href属性,其值为{{ trainer.cv.url }}。 -
<a href="{{ trainer.cv.url }}" class="pull-right" download>{{ trainer.cv }}</a>. -
它很可能不适用于图像、pdf 和某些视频格式。为此,您需要创建一个自定义 url 来下载文件并向 url 添加适当的标题。如果不起作用,请参阅此问题以获取详细信息stackoverflow.com/questions/15246661/…
标签: python django django-file-upload