0
点赞
收藏
分享

微信扫一扫

Custom Template Tags

潇湘落木life 2022-04-13 阅读 103
django

Create a templatetags folder under any django app folder. It will end up looking like below.

app_a
|--migrations
|--templatetags
|    __init__.py
|    group_tag.py
|--__init__.py
|--admin.py
|--apps.py
|--models.py
|--views.py
|--urls.py

Inside group_tag.py:

from django import template
from django.contrib.auth.models import Group
from django.shortcuts import get_object_or_404

register = template.Library()


@register.filter(name='has_group')
def has_group(user, group_name):
    group = get_object_or_404(Group, name=group_name)
    return True if group in user.groups.all() else False

 Inside settings.py:

......
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates']
        ,
        'APP_DIRS': True,
        'OPTIONS'
举报

相关推荐

0 条评论