> For the complete documentation index, see [llms.txt](https://www.dicas-de-django.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.dicas-de-django.com.br/042-custom-context-processors.md).

# Dica 42 - Custom context processors

[![](/files/-MfuAOwUjEsk4qZiRsOx)](https://youtu.be/VidyZ5gqSRY)

**Importante:** remova a `\` no meio das tags.

![](/files/5yQAAuqmpHdOp0r1qaxa)

O **Custom context processors** é um recurso que nos fornece objetos globais que podemos usar em qualquer parte da nossa aplicação.

```python
cat << EOF > myproject/travel/context_processors.py
from .models import Travel


def travel_count(request):
    travel = Travel.objects.all()
    context = {'total_travel': travel.count()}
    return context

EOF
```

Edite `settings.py`:

```python
TEMPLATES = [
    {
        ...
        'OPTIONS': {
            'context_processors': [
                ...
                # apps
                'myproject.travel.context_processors.travel_count',
            ],
        },
    },
]
```

E em `nav.html`

```html
<li class="nav-item">
    <a class="nav-link" href="{\% url 'travel:travel_list' %}">
        Viagens
        <span class="badge badge-warning">{{ total_travel }}</span>
    </a>
</li>
```
