我已经在django book示例之后创建了一个模板作为下一个:
<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 :(得分: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是否在该app文件夹中找不到所请求的模板。