我正在編寫一個Django應用程序,用戶可以在其中上傳圖像,而我不知道如何爲它們提供服務。我可以看到兩種方法:如何在Django中提供用戶上傳的文件?
1-將它們上載爲靜態文件:將它們上載到項目目錄中的static
文件夾中,然後運行python manage.py collectstatic
,但我不知道如何在每次文件時自動運行此命令上傳,這似乎是很多處理,因爲每次服務器將刪除並重新加載我的靜態應用程序中的所有內容。
2-使用django.views.static.serve
在我的urls.py:
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT,
}),
但the doc不推薦它用於生產。
推薦使用用戶上傳的文件的方式是什麼?
我認爲這是一個好主意,通過Apache或一個類似的網絡服務器來服務這些文件。如果您需要進一步控制(如用戶權限),則可以選擇mod_xsendfile。 – Jingo 2012-07-05 10:41:54