【发布时间】:2019-09-15 18:38:10
【问题描述】:
我在不使用 FileField() 的情况下创建了一个模型,并将 url 保存到路径字段中。现在在显示时我可以看到属性,但我无法下载文件。 href 将其视为一个页面,我收到一条错误消息,提示 GET 请求失败。
我也需要对静态文件做同样的事情。
models.py 看起来像这样:
import os
from django.conf import settings
from django.db import models
# Create your models here.
class Document(models.Model):
code = models.CharField(max_length = 50)
path = models.CharField(max_length = 500)
date_of_submission = models.CharField(max_length = 50)
type = models.CharField(max_length = 50)
title = models.CharField(max_length = 200)
department = models.CharField(max_length = 50)
subject = models.CharField(max_length = 100)
updation_allowed = models.CharField(max_length = 1, default = '0')
@property
def relative_path(self):
return os.path.relpath(self.path, settings.MEDIA_ROOT)
模板有一些这样的代码:
<a href = '{{ MEDIA_URL }}{{ value.thesis.relative_path }}'> Thesis </a>
*static files*
<a href='/uploads/report.pdf'> Front Page</a>
我尝试使用该属性并自己提供路径。
【问题讨论】:
标签: django python-3.x django-templates