【发布时间】:2018-06-08 16:19:30
【问题描述】:
我在 models.py 的 class Part 中创建了 FileField。我也通过 file_link(self) 方法获得了这个文件的链接:
origin = models.FileField(upload_to='origin_files', null=True, blank=True)
def file_link(self):
try:
return "<a href='%s'>download</a>" % (self.origin.url,)
except PageNotAnInteger:
return "<a href=127.0.0.1:8000/main>download</a>"
file_link.allow_tags = True
在 admin.py 中,我为 file_link 添加了 readonly_fields。我还添加了字段集file_link:
readonly_fields = ('file_link',)
fieldsets = (
('Характеристики плёнки', {
'fields': (....'data', 'origin', 'file_link')
}),
)
所以,在我的 django 管理员中,我有 FileField,它允许将文件上传到目录 origin_files 并链接到该文件。但是当我点击这个链接时,我会重定向到我网站的主页。例如,我下载了文件presentation.pptx。当我得到这个文件的 url 时,我得到了
http://127.0.0.1:8000/admin/description/part/12/change/origin_files/Presentation.pptx
如何下载这个文件?
【问题讨论】:
-
这里有一些奇怪的东西。除了块之外还有什么意义?该代码永远不会引发 PageNotAnInteger。