Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 128523
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T05:38:57+00:00 2026-05-11T05:38:57+00:00

Alright, this is probably a really silly question but I am new to Python/Django

  • 0

Alright, this is probably a really silly question but I am new to Python/Django so I can’t really wrap my head around its scoping concepts just yet. Right now I am writing a middleware class to handle some stuff, and I want to set ‘global’ variables that my views and templates can access. What is the ‘right’ way of doing this? I considered doing something like this:

middleware.py

from django.conf import settings  class BeforeFilter(object):     def process_request(self, request):         settings.my_var = 'Hello World'         return None 

views.py

from django.conf import settings from django.http import HttpResponse  def myview(request):     return HttpResponse(settings.my_var) 

Although this works, I am not sure if it is the ‘Django way’ or the ‘Python way’ of doing this.

So, my questions are:
1. Is this the right way?
2. If it is the right way, what is the right way of adding variables that can be used in the actual template from the middleware? Say I want to evaluate something and I want to set a variable headername as ‘My Site Name’ in the middleware, and I want to be able to do {{ headername }} in all templates. Doing it the way I have it now I’d have to add headername to the context inside every view. Is there anyway to bypass this? I am thinking something along the lines of CakePHP’s $this->set('headername','My Site Name');
3. I am using the middleware class as an equivalent of CakePHP’s beforeFilter that runs before every view (or controller in CakePHP) is called. Is this the right way of doing this?
4. Completely unrelated but it is a small question, what is a nice way of printing out the contents of a variable to the browser ala print_r? Say I want to see all the stuff inside the request that is passed into the view? Is pprint the answer?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T05:38:57+00:00Added an answer on May 11, 2026 at 5:38 am
    1. It’s not the best way. You could set my_var on the request rather than on the settings. Settings are global and apply to the whole site. You don’t want to modify it for every request. There could be concurrency issues with multiple request updating/reading the variable at the same time.

    2. To access request.my_var in your templates you could do {{ request.my_var }}. To get access to the request variable in your template you will have to add django.core.context_processors.request to your TEMPLATE_CONTEXT_PROCESSORS setting.

    3. Yes. Other terminology to describe request middleware would be request pre-processor/filter/interceptor.

    Also, if you want to use a common Site name for the header in your templates, you might want to check out the Django Sites application which provides a site name variable for your use.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 216k
  • Answers 216k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer You can try this decimal number = 12.159m; number =… May 12, 2026 at 11:11 pm
  • Editorial Team
    Editorial Team added an answer It's not getting called because you're using remote_function incorrectly. Rails… May 12, 2026 at 11:11 pm
  • Editorial Team
    Editorial Team added an answer After looking through your code, I found the problem. Something… May 12, 2026 at 11:11 pm

Related Questions

Alright. So I wanted to use a file written in c in c++. I
Alright, currently I have my SWF hitting a php file that will go and
I want my code to automatically try multiple ways to create a database connection.
This is a two part question. A dumb technical query and a broader query

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.