1. 程式人生 > >Django在settings.py設定安裝軟體路徑,遇到 'Settings' object is not subscriptable報錯

Django在settings.py設定安裝軟體路徑,遇到 'Settings' object is not subscriptable報錯

1、由於在搞一個匯出pdf的功能時,需要指定下面的一個配置,程式碼如下:

config = pdfkit.configuration(wkhtmltopdf='D:\\SoftWare\\wkhtmltopdf\\bin\\wkhtmltopdf.exe')

2、但是專案成員裡面每個人安裝的目錄都不一樣,而且如果部署到linux環境底下,還不是exe格式的,路徑也會變化,於是想到可以去settings.py設定一個安裝目錄,後面直接修改這個檔案即可,在view那裡直接引入settings底下這個安裝目錄就行了。

3、參考了網上一篇文章,首先,開啟settings.py,直接加上一行程式碼為:

# wkhtmltopdf安裝的路徑
WKHTMLTOPDF_INSTALL_PATH = 'D:\\SoftWare\\wkhtmltopdf\\bin\\wkhtmltopdf.exe'

4、接著,去引用這個路徑即可,於是有了下面兩行程式碼:

from django.conf import settings

config = pdfkit.configuration(wkhtmltopdf=settings['WKHTMLTOPDF_INSTALL_PATH'])

5、結果,報了以下這個錯誤,這個錯誤代表settings這個物件不可訂閱,感覺寫法有點像取字典鍵對應的值:

'Settings' object is not subscriptable

6、修改程式碼如下即可成功引用:

from django.conf import settings

config = pdfkit.configuration(wkhtmltopdf=settings.WKHTMLTOPDF_INSTALL_PATH)

這樣的話以後修改這個settings.py即可修改wkhtmltopdf所安裝的路徑了。

以上內容僅供大家學習參考,謝謝!