Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 28, 2011 03:18:36

andreiru
От:
Зарегистрирован: 2010-11-06
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

Context processors

Здравствуйте!

Первый раз приходиться использовать Context processors в Django, вот как всё сделал:

В /utils/context_processors.py:

from mysite.apps.search.models import City

def search_city_list(request):
return City.objects.all()
В settings.py в TEMPLATE_CONTEXT_PROCESSORS:
TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.core.context_processors.request',
'django.contrib.messages.context_processors.messages',

'mysite.utils.context_processors.search_city_list',
)
В views:
from django.template    import RequestContext
from django.shortcuts import render_to_response

def index(request):
return render_to_response('apps/home.html', RequestContext(request))
Но в шаблоне search_city_list не видно:
{% for city in search_city_list %}
{{ city.name }}
{% endfor %}
Подскажите пожалуйста что не так делаю !?



Отредактировано (Сен. 28, 2011 03:23:53)

Офлайн

#2 Сен. 28, 2011 15:55:18

gruy
От:
Зарегистрирован: 2010-02-22
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Context processors

from mysite.apps.search.models import City

def search_city_list(request):
return {'city_list': City.objects.all(),}
И уже в шаблоне использовать city_list.



Офлайн

#3 Сен. 28, 2011 16:14:48

andreiru
От:
Зарегистрирован: 2010-11-06
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

Context processors

gruy спасибо, работает!



Офлайн

#4 Сен. 29, 2011 19:37:19

magnet85
От:
Зарегистрирован: 2009-04-13
Сообщения: 91
Репутация: +  2  -
Профиль   Отправить e-mail  

Context processors

Вот так должно работать:
В views:

from django.template import RequestContext
from django.shortcuts import render_to_response

def index(request):
return render_to_response('apps/home.html', context_instance=RequestContext(request))



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version