使用Django Admin上传文件

时间:2016-04-28 19:31:42

标签: python django

我希望能够使用Django Admin界面上传.PDF文件,并将这些文件反映在我网站的页面中。这是可能吗?如果是这样,我该怎么做?否则,管理员用户可以私下上传稍后将在网站中显示的文件的解决方法是什么?

我在File Uploads上的Django文档中得到的结果是上传发生在网站本身,但我想使用Admin界面执行此操作,所以我知道只有管理员用户可以上传这些文件。找到this问题,但这涉及图像。任何形式的帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:7)

没什么特别的,django-admin已经有了它。

<强> models.py

class Router(models.Model):
    specifications = models.FileField(upload_to='router_specifications')

<强> admin.py

from django.contrib import admin
from my_app import models

admin.site.register(models.Router)

您现在可以在模型的管理员中看到文件上传字段。如果已经是模型实例的文件,那么您也会看到它的链接。

向用户呈现视图时,在视图的上下文中传递模型,并使用字段的url属性链接到该文件。

<a href="{{ my_model_instance.specifications.url }}">Download PDF</a>