def get_context_data(self, **kwargs):
api_kwargs = self.get_wp_api_kwargs(**kwargs)
page = api_kwargs.get('page_number', 1)
search = api_kwargs.get('search', '')
blogs = WPApiConnector().get_posts(**api_kwargs)
tags = WPApiConnector().get_tags(lang=self.blog_language)
categories = WPApiConnector().get_categories(lang=self.blog_language)
if 'server_error' in blogs or\
'server_error' in tags:
messages.add_message(self.request, messages.ERROR,
blogs['server_error'])
raise Http404
if not blogs['body']:
raise Http404
for blog in blogs['body']:
if blog['excerpt'] is not None:
position = blog['excerpt'].find(
'Continue reading')
if position != -1:
blog['excerpt'] = blog['excerpt'][:position]
blog['slug'] = str(blog['slug'])
blog['bdate'] = iso8601.parse_date(blog['date']).date()
context = {
'blogs': blogs['body'],
'tags': tags,
'categories': categories,
'search': search,
'total_posts': int(blogs['headers']['X-WP-Total']),
'total_pages': int(blogs['headers']['X-WP-TotalPages']),
'current_page': page,
'previous_page': page - 1,
'next_page': page + 1,
}
return context
评论列表
文章目录