2014-01-10 50 views
0

我創建了以下Django的書例子作爲下一個模板:TemplateDoesNotExist但它的存在

<html> 
<head> 
    <title>Search</title> 
</head> 
<body> 
    <form action="/search/" method="get"> 
     <input type="text" name="q"> 
     <input type="submit" value="Search"> 
    </form> 
</body> 
</html> 

我的看法是:

def search_form(request): 
    return render_to_response(request, 'search_form.html') 

和我的設置:

import os 
RUTA_PROYECTO = os.path.dirname(os.path.realpath(__file__)) 
TEMPLATE_DIRS = (os.path.join(RUTA_PROYECTO ,'templates'),) 

它應該工作,但是當我運行服務器時,我得到TemplateDoesNotExist

+0

嘗試設置TEMPLATE_DIRS =(os.path.join(RUTA_PROYECTO,'templates'),)'。注意逗號。 – alecxe

+0

是的thx這是一個錯誤,但我解決了它,TemplateDoesNotExist繼續 –

+0

顯示項目結構。 – Carlangueitor

回答

1

註釋掉:

TEMPLATE_DIRS = (os.path.join(RUTA_PROYECTO ,'templates'),) 

使用TEMPLATE_DIRS當你要存儲模板項目文件夾以外的某個位置。

變化

def search_form(request): 
    return render_to_response(request, 'search_form.html') 

def search_form(request): 
    return render_to_response(request, 'mywebsite/search_form.html') 

您必須指定你想拉什麼應用程序的模板。否則具有相同模板名稱的兩個不同的應用程序將無法工作。如果您指定TEMPLATE_DIRS,則會在Django無法在該應用程序文件夾中找到請求的模板時探測它。