Referente ao curso
Django: programação web com Python e simplicidade
,
no capítulo
A página principal da aplicação
e atividade
Criando Views e Rotas da aplicação
Olá a todos. Estou recebendo a mensagem 'TemplateDoesNotExist at' do Django mas não consegui identificar onde o erro está.
Segue erro:
TemplateDoesNotExist at /
index.html
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.7.4
Exception Type: TemplateDoesNotExist
Exception Value:
index.html
Exception Location: C:\Python27\lib\site-packages\django\template\loader.py in find_template, line 136
Python Executable: C:\Python27\python.exe
Python Version: 2.7.9
Python Path:
['C:\\Users\\fabio\\connectedin',
'C:\\WINDOWS\\SYSTEM32\\python27.zip',
'C:\\Python27\\DLLs',
'C:\\Python27\\lib',
'C:\\Python27\\lib\\plat-win',
'C:\\Python27\\lib\\lib-tk',
'C:\\Python27',
'C:\\Python27\\lib\\site-packages']
Server time: Thu, 25 Feb 2016 10:18:43 -0300
A hierarquia da minha pasta está a seguinte:
C:\Users\fabio\connectedin\perfis\template, e dentro desta pasta tem o index.html
urls.py de connectedin/connectedin:
from django.conf.urls import patterns, include, url
from django.contrib import admin
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^', include('perfis.urls'))
urls.py de perfis
from django.conf.urls import patterns, include, url
urlpatterns = patterns('',
url(r'^$', 'perfis.views.index')
e por fim views.py
from django.shortcuts import render
def index(request):
return render(request, 'index.html')
Me parece que tudo esta em ordem, mas porque o Django não busca meu HTML?
Em settings.py tive que declarar a seguinte tupla:
'TEMPLATE_DIRS = (
r'C:\Users\fabio\connectedin\perfis\templates',
Agora o Django conseguiu buscar o HTML
Esse passo não deveria ser feito mesmo que tenha funcionado. Ele esconde a causa de vc não ter conseguido.
Baixe o stage do próximo capítulo é veja se funciona.
Oi Fábio, aguardo seu feedback. Eu quero que você termine o curso, mas da melhor maneira possível e quero entender porque o padrão do Django que é considerar a pasta templates
de cada app não ter funcionado.
Agora estou no computador posso responder melhor, antes estava no celular.
A solução é show, resolve seu problema, no entanto lá para a frente teremos mais uma app chamada usuarios e você terá o mesmo problema. O default, padrão do Django tinha que ter funcionado e isso me deixa curioso.
De qualquer maneira, continue como treinamento e não pare para não esfriar a cabeça, muito pelo contrário, ela deve estar quente até o final do treinamento :)
Abraço e bom estudo!
Relaxe, eu tenho uma hipótese meu aluno. A alteração da pasta para surtir efeito o servidor deve ser reiniciado. Talvez isso o tenha confundido.
Então, o problema original era o nome da pasta template
que deveria ser templates
.
Eu falo com tanta convicção porque testei bastante o projeto e as explicações antes de lançar o treinamento. Pode confiar que até o final tudo vai correr bem.
No entanto, as vezes há um problema aqui ou ali do sistema operacional do aluno ou errinhos de digitação, mas isso a gente descobre.
Sucesso e bom estudo, agora está tudo certinho!
Caramba, passei pelo mesmo erro. O meu problema foi que o index não estava salvo como html. Depois de muito quebrar a cabeça que vi isso kkk.
Eu tinha baixado e usado o sublime2 no windows, mas ele não esta salvando os arquivos no formato desejado. Vou ficar como o notepad++ por enquanto kk.