# Context Processor

মনে করি আমাদের একটি ব্লগ ওয়েবসাইটে কয়েকটি অংশ আছে যেমন ফুটার সাইডবার ইত্যাদি অনেক সময় সাইডবার এ ম্যানুয়াল কোয়েরি করে ডেটা শো করতে হয় তখন নিচের পদ্ধতি অবলম্বন করবো।

আমার app এর নাম blog আমি bolg ফোল্ডারে context\_processors.py নামে একটি ফাইল তৈরী করে html টেম্পলেট এ সেটা ব্যবহার করবো।

```
your_project/
└── blog/
    ├── context_processors.py
    └── other_blog_files.py
```

**context\_processors.py**

আমি আমার apps এর Page নামক মডেল থেকে ডেটা কোয়েরি করলাম

<pre><code>from .models import Page
<strong>def footer_data(request):
</strong>    pages = Page.objects.all()
    return {'footer_pages': pages}

</code></pre>

**context\_processors** কে প্রজেক্ট এর settings.py তে অ্যাড করলাম

```
TEMPLATES = [
    {

        'OPTIONS': {
            'context_processors': [
                'blog.context_processors.footer_data',  # Replace 'blog' with your app name
                
            ],
        },
    },
]
```

এবার html টেম্পলেট এর যেখানে শো করতে চাই ওখানে শো করাই

```
                  <ul>
                     {% for page in footer_pages %}
                         <li><a href="#">{{ page.title }}</a></li>
                     {% endfor %}
                 </ul>
```
