Django中提示TemplateDoesNotExist?

項目目錄:

settings中模板路徑定義如下:

TEMPLATE_DIRS = (

os.path.join(BASE_DIR, templates).replace("", /),

)

urls中定義如下:

url(r^index/$, "MyFirstDjango.views.index"),

views定義如下:

def index(request):

html_template = loader.get_template("index.html")

html_context = ({})

return HttpResponse(html_template.render(html_context))

訪問http://127.0.0.1:8000/index/ 的時候頁面提示:TemplateDoesNotExist at /index/


我用的是1.9版本。

需要在settings.py文件中設置TEMPLATES下的DIRS

如下:

TEMPLATES = [
{
BACKEND: django.template.backends.django.DjangoTemplates,
DIRS: [
/home/html/example.com,
/home/html/default,
],
},
{
BACKEND: django.template.backends.jinja2.Jinja2,
DIRS: [
/home/html/jinja2,
],
},
]

其中 DIRS就是html模板文件的路徑


2017.10.12回答,使用最新Django1.11.5,在學習使用Django搭建簡易博客的學習過程中,在終端運行python manage,py runserver後打開瀏覽器進入測試頁面遇到了TemplateDoesNotExist的問題,查看到以下提示:

大概意思就是說我在setting.py中使用的TEMPLATE_DIRS在Django1.8之後就棄用了,讓我把模板路徑放到TEMPLATE專屬的目錄裡面,我想他應該是這個意思把:

試了一下還真成功了:

網上很難查到最新的答案,有的時候還是得靠自己debug。。


我的是1.5的django,在settings.py中的 TEMPLATE_DIRS里 要寫絕對路徑才行,如下代碼。

或者直接把templates文件夾放到相應的工程文件夾里,比如拖進你的polls文件夾中,就不用更改settings中的模板路徑了。

TEMPLATE_DIRS = (
"D:/work/space/PycharmProjects/mysite2/templates"
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Dont forget to use absolute paths, not relative paths.
)


templates目錄應該放到polls目錄下


templates 和 setting.py得是相同目錄的


是不是應該換個新點的版本了


請問你是怎麼解決的?


templates文件夾位置放的不對吧 檢查下


去看看官方文檔,裡面有詳細說明templates目錄應該放在哪個目錄下。別人告訴你的結果,你下次再遇到還是不知道怎麼解決。相信你很快解決的。


推薦閱讀:

Django框架應用中models.py文件與資料庫操作問題?

TAG:Python | Django框架 |