views.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:django-wordpress-api 作者: swappsco 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号