扩展模板

上下文处理器根据组成员身份(或任何查询/逻辑)确定模板。这允许我们的公共/普通用户获得一个模板和我们的特殊组以获得不同的模板。

MYAPP / context_processors.py

def template_selection(request):
    site_template = 'template_public.html'
    if request.user.is_authenticated():
        if request.user.groups.filter(name="some_group_name").exists():
            site_template = 'template_new.html'

    return {
        'site_template': site_template,
    }

将上下文处理器添加到你的设置中。

在模板中,使用上下文处理器中定义的变量。

{% extends site_template %}