2017-04-26 160 views
0

我有一個django應用程序,它允許用戶輸入一個查詢並作爲響應返回按照其相關性排序的文檔列表。點擊下載按鈕後,用戶可以下載文件。對於大多數情況,該選項可以正常工作,但在文件名或文件夾路徑具有特殊字符時會中斷(例如 - &)。下載按鈕包含文件所在位置。如果路徑或文件名包含特殊字符,則只有特殊字符的字符串被傳遞給views.py文件中的函數,因此會返回FileNotFoundError at ...文件名和路徑中的特殊字符

那麼,如何確保Django的讀取情況下,有特殊字符的完整路徑參與

+0

你可以添加'接收字符集=「utf-8」'來你的表單標籤 –

+0

@RajaSimon好吧,我省略了一些細節,以便讓問題更易於理解。用戶輸入查詢後,會列出相關文檔。在點擊文檔標題時,用戶被引導到他們可以查看文件文本的頁面。這就是下載鏈接選項可用的地方。在渲染頁面時,我使用'context'字典傳遞文件的位置(我正在從數據庫中查找),因此除了用戶輸入查詢的框外,沒有涉及「form」元素。 –

+1

Oh gotcha !我相信'&'編碼是'%26'嘗試!並在您的Django服務器解碼 –

回答

2

使用urlencode

{{link_to_file|urlencode}} 
+0

尼斯解決方案... –

+0

謝謝。這工作完美 –

相關問題