Найти - Пользователи
Полная версия: Получить элемент модели во вью
Начало » Django » Получить элемент модели во вью
1
dnstuff
Здравствуйте!
Такая модель:
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.
Спасибо!
buddha
Ты имеешь ввиду это?

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

{{ post.имя_любого_поля }}
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB