2016-04-28 104 views
1

我希望能夠使用Django Admin界面上傳.PDF文件,並將這些文件反映到我網站上的頁面中。這是可能嗎?如果是這樣,我該怎麼做?否則,對於管理員用戶私下上傳將在網站中顯示的文件,可能有哪些解決方法?使用Django Admin上傳文件

我從Django文檔File Uploads得到的是上傳發生在網站本身,但我想用Admin界面做這個,所以我知道只有管理員用戶可以上傳這些文件。發現this問題,但這處理圖像。任何形式的幫助將不勝感激。

+2

'FileField'我相信... –

回答

2

沒什麼特別的,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> 
+0

謝謝!此應用程序的後端數據庫是MS SQL,託管在Azure上。我是否將upload_to參數的值更改爲表的名稱或?我在Management Studio上打開了數據庫,並且已經添加了相應的表格,但仍然出現錯誤。 (這應該是一個完全不同的問題,還是我可以問這是一個意見?) – mrqcox

+0

無論使用哪個數據庫,文件都不會被存儲在數據庫中,只有指向文件位置相對於MEDIA_ROOT設置的鏈接你的項目。因此,在Django上通過一些關於靜態和媒體文件的教程可能是很好的,但有很多需要學習的東西,但是有充分的理由! –

+0

明白了。謝謝你的幫助! – mrqcox