目錄結構現在,在我的數據庫中的每個對象Foo
我有相關的文件,該文件被存儲在路徑有以下結構some/example/path/foo/pk/name.txt
。即成文件,而不暴露在Django
在Django中提供服務的默認方式是在設置中指定MEDIA_ROOT
和MEDIA_URL
。這樣一來,我可以通過訪問localhost:8000/media/foo/1/name.txt
和類似的方式爲其他對象訪問與Foo object with id=1
相關文件。
但我寧願不暴露給用戶文件的方式存儲在內部(目錄結構,主鍵等),並從localhost:8000/media/mapped_path_to_name.txt
爲他們服務。
現在,我能想到的唯一解決方案是創建自定義視圖負責提供文件,並在做路徑映射這個角度提出的邏輯。有沒有更優雅的(簡約)解決這個問題?
有什麼不雅你有什麼建議?似乎是解決此問題的最佳方法。 –
同意。只要我看到標題「我通過自定義視圖來提供文件」。 –
我的推理是,它是由Django自動完成的,只需要一些配置線,我認爲可以使用某種類似中間件的設置來實現這一點。但是,如果你們都說這是最好的選擇,那麼我會去做。我應該從頭開始編寫這個視圖還是以某種方式修改Django使用的解決方案,您的建議是什麼? – mateuszb