Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 26, 2011 14:15:31

I159
От:
Зарегистрирован: 2010-12-09
Сообщения: 85
Репутация: +  0  -
Профиль   Отправить e-mail  

Путь к директории шаблонов.

Имею стандартный проект, вида:

|-- activeapp
| |-- __init__.py
| |-- __init__.pyc
| |-- media
| | |-- css
| | | `-- style.css
| | |-- img
| | `-- js
| |-- models.py
| |-- models.pyc
| |-- tests.py
| `-- views.py
|-- activeblog.pidaproject
|-- __init__.py
|-- __init__.pyc
|-- manage.py
|-- settings.py
|-- settings.pyc
|-- templates
| |-- base.html
| `-- blogpost_list.html
|-- urls.py
`-- urls.pyc

6 directories, 17 files
i159@i159-desktop:~/djproj/activeblog$
В settings прописал путь:
def blank_path(*x):
return join(abspath(dirname(__file__)), *x)

TEMPLATE_DIRS = (
blank_path('templates')
В urls:
(r'^$', list_detail.object_list, {'queryset': BlogPost.objects.all(),}),
Стартовал сервер и получил ошибку, которой очень удивился:
Using loader django.template.loaders.filesystem.Loader:
/home/i159/djproj/activeblog/templates/activeapp/blogpost_list.html (File does not exist)
Откуда в пути берется activeapp?

Изменяю urls на:
(r'^$', direct_to_template, {'template': 'blogpost_list.html', }),
И шаблон отображается корректно.



Отредактировано (Апрель 26, 2011 15:05:12)

Офлайн

#2 Апрель 26, 2011 16:52:27

Luam
От:
Зарегистрирован: 2011-04-22
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Путь к директории шаблонов.

Template name:

If template_name isn't specified, this view will use the template <app_label>/<model_name>_list.html by default.
Всё потому, что если тэмплейт не указан, то джанго строит вот тот путь что у тебя вышел <имя_приложения><имя_модели>



Офлайн

#3 Апрель 26, 2011 18:14:52

I159
От:
Зарегистрирован: 2010-12-09
Сообщения: 85
Репутация: +  0  -
Профиль   Отправить e-mail  

Путь к директории шаблонов.

Luam, спасибо.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version