Py学习  »  问与答

请教一个关于super()的问题

易冷天涯 • 11 年前 • 8121 次点击  
class BaseMixin(object):

    def get_context_data(self, *args, **kwargs):
        context = super(BaseMixin, self).get_context_data(**kwargs)
        try:
            context['categories'] = Category.available_list()
            context['widgets'] = Widget.available_list()
            context['recently_posts'] = Post.get_recently_posts(RECENTLY_NUM)
            context['hot_posts'] = Post.get_hots_posts(HOT_NUM)
            context['pages'] = Page.objects.filter(status=0)
            context['online_num'] = len(cache.get('online_ips'))
        except Exception as e:
            logger.exception(u'加载基本信息出错[%s]!', e)

        return context

学习别人的代码,发现这么一个class。

别的地方出现的super(BaseMixin, self).get_context_data(**kwargs)是在继承这个class。那么这个class自己里面这一行

        context = super(BaseMixin, self).get_context_data(**kwargs)

是什么意思?自己是自己的父类?新手感觉有点乱了。

后面又return context。return的又是什么呢?

谢谢大家!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/269
 
8121 次点击  
文章 [ 3 ]  |  最新文章 10 年前