Джанго, шаблон не найден - PullRequest
1 голос
/ 12 января 2012

По какой-то причине веб-приложение, которое я создал, не может найти шаблон.Я также попытался поместить html-файл в несколько разных мест, но он все равно не нашел его.На данный момент я разместил свой шаблонный директор по следующему адресу C:\xampp\htdocs\django_proj\templates\.Кто-нибудь еще знает, в чем может быть проблема.

У меня есть еще одно веб-приложение в этом проекте django.Модель и вид выглядят практически одинаково, однако веб-приложение может найти шаблоны.

/ webapp / models.py

from django.db import models

class Profile(models.Model):
    name = models.CharField(max_length=255)
    age = models.IntegerField() 
    added_at = models.DateTimeField(auto_now_add=True)

/ webapp/views.py

from django.views.generic.list_detail import object_list

from models import Profile

def profile_list(request):
    return object_list(request,
        queryset=Profile.objects.all(),
        template_name='/webapp/list.html',
        template_object_name='profiles')

/ webapp / urls.py

from django.conf.urls.defaults import *

import views

urlpatterns = patterns('',

    url(r'^list/$', views.profile_list, name='profile_list'),
)

/ urls.py

from django.conf.urls import *

    urlpatterns = patterns('',

         (r'^webapp/', include('webapp.urls')),
    )

/ templates / webapp / list.html

<html>
  <body>
  Test
  </body>
</html>

Сообщение об ошибке

TemplateDoesNotExist at /webapp/list/

/webapp/list.html

Request Method:     GET
Request URL:    http://localhost:8000/webapp/list/
Django Version:     1.4 pre-alpha
Exception Type:     TemplateDoesNotExist
Exception Value:    

/webapp/list.html

Exception Location:     c:\tools\python27\lib\site-packages\django\template\loader.py in find_template, line 138
Python Executable:  c:\tools\python27\python.exe
Python Version:     2.7.2
Python Path:    

['C:\\xampp\\htdocs\\webnotes',
 'c:\\tools\\python27\\lib\\site-packages\\pip-1.0.2-py2.7.egg',
 'C:\\Windows\\system32\\python27.zip',
 'c:\\tools\\python27\\DLLs',
 'c:\\tools\\python27\\lib',
 'c:\\tools\\python27\\lib\\plat-win',
 'c:\\tools\\python27\\lib\\lib-tk',
 'c:\\tools\\python27',
 'c:\\tools\\python27\\lib\\site-packages']

Server time:    Thu, 12 Jan 2012 19:33:48 +0100
Template-loader postmortem

Django tried loading these templates, in this order:

    Using loader django.template.loaders.filesystem.Loader:
    Using loader django.template.loaders.app_directories.Loader: 

Ответы [ 2 ]

5 голосов
/ 12 января 2012

Имя вашего шаблона содержит aboslute path /webapp/list.html. Попробуйте сделать его относительным путем webapp/list.html, чтобы os.path.join(.) обрабатывал конкатенацию пути, как предполагалось.

Попробуйте это:

def profile_list(request):
    return object_list(request,
        queryset=Profile.objects.all(),
        template_name='webapp/list.html', # removed slash here.
        template_object_name='profiles')
0 голосов
/ 12 января 2012

Попробуйте изменить шаблон URL на / webapp / urls.py с:

url(r'^list/$', views.profile_list, name='profile_list'),

на

url(r'^webapp/list/$', views.profile_list, name='profile_list'),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...