Уведомления

Группа в Telegram: @pythonsu

#1 Март 15, 2013 15:05:33

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Получить элемент модели во вью

Здравствуйте!
Такая модель:

class BlogPost(models.Model):
	SEO_title=models.CharField(max_length=150, blank=True, verbose_name=u'СЕО тег title')
	SEO_description=models.CharField(max_length=250, blank=True, verbose_name=u'СЕО тег description')
	SEO_keywords=models.CharField(max_length=250, blank=True, verbose_name=u'СЕО тег keywords')
	slug=models.SlugField(max_length=100, unique=True, verbose_name=u'URL')
	title=models.CharField(max_length=150, unique=True, verbose_name=u'Заголовок')
	description=models.TextField(max_length=250, verbose_name=u'Краткое описание')
	body=models.TextField(verbose_name=u'Полное описание')
	timestamp=models.DateTimeField(db_index=True, verbose_name=u'Время создания')
	class Meta:
		verbose_name = u'Новость'
		verbose_name_plural = u'Новости'
        ordering=('-timestamp',)
Шаблон:
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta name="keywords" content="{{keywords}}">
	<meta name="description" content="{{description}}">
</head>
urls:
url(r'^news/(?P<slug>[^\.]+).html', view_post, name='view_blog_post'),
View на данный момент выглядит так:
def view_post(request, slug):
	return render_to_response('post.html', {
        'post': get_object_or_404(BlogPost, slug=slug), 
    }, context_instance=RequestContext(request))
Проблема передать SEO_title, SEO_description, SEO_keywords в шаблон через view для каждого конкретного поста. Не могу понять, как происходит конкретизация, что именно это значение SEO_title должно соответствовать именно этому url.
Спасибо!

Офлайн

#2 Март 15, 2013 21:24:55

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

Получить элемент модели во вью

Ты имеешь ввиду это?

Шаблон:

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta name="keywords" content="{{post.SEO_keywords}}">
	<meta name="description" content="{{post.SEO_description}}">
</head>

Офлайн

#3 Март 16, 2013 15:48:24

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

Получить элемент модели во вью

dnstuff
как происходит конкретизация, что именно это значение SEO_title должно соответствовать именно этому url.
У вас в каждом урле есть уникальный кусок,
т.е. url выглядит так news/asteroid_fall.html
часть урла asteroid_fall является ключем к нужной записи, которая выбирается тут:
'post': get_object_or_404(BlogPost, slug=slug)
и передается в шабон, т.е. в шаблоне post представляет конкретно эту новость, и в шаблоне вы можете обращаться к полям этой записи/объекта:

{{ post.имя_любого_поля }}

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version