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'