2017-07-04 132 views
1

我想在我的django項目中打開並閱讀這個html文件,但是我得到這個 [Errno 2]沒有這樣的文件或目錄:'test.html'。模板文件路徑

html = 'test.html' 
open_html = open(html, 'r') 
soup = BeautifulSoup(open_html, "html5lib") 
open_html.close() 

但是模板路徑似乎做工精細渲染

template = 'test.html' 
context = { 
} 
return render(request, template, context) 

TEMPLATES = [ 
     'DIRS': [os.path.join(BASE_DIR, "templates")], 
] 

我知道我的模板想進入我的應用程序文件夾時,但是我喜歡,讓他們在一個文件夾中進行開發時和調試。

+0

'的html =「的test.html」 open_html =打開(html,'r')'這段代碼並不完整。 html只有文件名test.html,但BeautifulSoup需要完整路徑。而不是'html ='test.html''這提供了文件的實際路徑。 – ammy

回答

3

因爲你正試圖從模板訪問文件,所以您需要添加完整路徑

嘗試以下解決方案

from your_project_name.settings import BASE_DIR 
path = os.path.join(BASE_DIR+'templates/', 'test.html') 
open_html = open(path, 'r') 
soup = BeautifulSoup(open_html, "html5lib") 
open_html.close() 

希望這是幫助你