Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » как обращаться к переменным текущей страницы? [RSS Feed]

#1 Фев. 19, 2010 16:40:59

LSN
От:
Зарегистрирован: 2009-12-15
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

как обращаться к переменным текущей страницы?

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

Не знал я как сабж озаглавить, чтобы было понятно. Щас попробую объяснить:

Я не могу понять два момента.

1. В шаблон вывожу (представление - django.views.generic.list_detail.object_detail):

<h2>{{ post.title}}</h2>
{{ post.body|safe}}
<p>Автор: {{ post.author}}</p>
<p>Дата: {{ post.pub_date|date:'Y, M d'}}</p>
<p>Автор: {{ post.categories}}</p>
и строка:
<p>Автор:  {{ post.categories}}</p>
выдает:
<django.db.models.fields.related.ManyRelatedManager object at 0x0322E0B0>
Поле categories в модели является ManyToManyField к классу Category. Как правильно выводить в шаблон такие поля?

2.Хочу на открытой странице вывести записи из этой же категории, что и открытая страница. Пишу custom tag:
from django import template
from blog.models import Posts, Category

register = template.Library()

@register.tag(name="related_posts")
def show_related_posts(parser, token):
return ShowRelatedPostsNode()

class ShowRelatedPostsNode(template.Node):
def render(self, context):
context['related_posts'] = Posts.public.filter(categories=текущая_категория_открытой_страницы)
return ''
А вот как отфильтровать не знаю. Как фильтровать в этом случае?


очень буду признателен, если кто-нибудь объяснит как это делается.

ps^ чтение документации и гугление не дали результата :(



Офлайн

#2 Фев. 19, 2010 19:23:42

LSN
От:
Зарегистрирован: 2009-12-15
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

как обращаться к переменным текущей страницы?

первый вопрос снят, ответ нашел здесь. второй вопрос актуален.



Офлайн

#3 Фев. 25, 2010 12:15:11

Чел_вТапКах
От:
Зарегистрирован: 2009-07-22
Сообщения: 92
Репутация: +  0  -
Профиль   Отправить e-mail  

как обращаться к переменным текущей страницы?

тебе просто в текущую открытую страницу нужно передавать идентификатор ее категории

render_to_response('cur_category.html', {'Curent_category': curent_category})
и ее то и сравнивать(ну это насколько я понял твою задачу)



Офлайн

#4 Фев. 25, 2010 16:27:32

LSN
От:
Зарегистрирован: 2009-12-15
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

как обращаться к переменным текущей страницы?

Чел_вТапКах
ну это насколько я понял твою задачу
да, я криво сформулировал вопрос. просто описал как мог, своими словами :)

Чел_вТапКах
тебе просто в текущую открытую страницу нужно передавать идентификатор ее категории
спасибо за подсказку. пошел пробовать…



Офлайн

  • Начало
  • » Django
  • » как обращаться к переменным текущей страницы?[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version