一般django的通用视图,就是把一些比较常见的变量的写在一个类里面
然后class IndexView(BaseMixin, ListView):
这样类继承的方式来调用
那么
class BaseMixin(object):
def get_context_data(self, *args, **kwargs):
context = super(BaseMixin, self).get_context_data(**kwargs)
# 热门文章
context['hot_article_list'] = \
Article.objects.order_by("-view_times")[0:10]
# 随机文章10篇
context['romdon_article_list'] = \
Article.objects.order_by("?")[0:6]
# 随机文章倒6篇
context['dromdon_article_list'] = \
Article.objects.order_by("?")[:10].reverse()[:6]
#站长推荐
context['rank_article_list'] = \
Article.objects.order_by("-rank")[:6]
return context
每次在打开一个视图的时候 就会加载这个 我想问下,加载的时候不知道会不会执行查询语句?
如果会的话那真的就是太蛋疼了!
因为我打算把更多的变量都添加到通用视图里面去
全局模板变量这样写吧, 这样不用你的每个view都去继承
settings配置
然后定义一个context_processors.py文件