讓我先說我在這方面花了很多精力,任何投入對我來說都非常有價值。現在,我的問題:使用Django:如何提供文件下載?
我有什麼工作:我的網站提供了一個簡單的界面,供用戶上傳文件,他們將被給予一個關鍵。該文件被保存到服務器,密鑰是使用現代,安全的加密算法生成的。這些細節對於手頭的問題並不重要。
我想實現的內容:在下載頁面上,用戶可以輸入密鑰並將文件下載到他們的計算機上。想要知道的是如何爲用戶提供下載上傳文件的能力。簡而言之,我只想讓用戶在MEDIA_ROOT文件夾下載一個文件。
我使用基於類的意見,所以我的網址是:
urls.py
from django.conf.urls import patterns, include, url
from django.conf.urls.static import static
from django.conf import settings
from fileupload.views import FileDownloadView, GetFileView
urlpatterns = patterns('',
url(r'^key/?$', FileDownloadView.as_view(), name='getkey'),
url(r'^download/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}, GetFileView.as_view()),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
請爲我提供,我應該在我的觀點使用何種功能的基本思路實際上下載文件。我仍在開發中,所以我想利用Django提供文件的能力,而不是Apache的。如果我投入生產,我會考慮其他選擇。無論我需要發佈什麼代碼,我都可以發佈。
謝謝!
爲什麼不使用nginx來處理所有靜態文件? –
你好,我很抱歉,我忘了提及我正在使用Apache。我添加了一個編輯來闡明我想利用Django提供文件的能力。 – Chuck