tags:

views:

85

answers:

2

Can I use a variable declared in the Django project's settings.py in one of my module files?

For instance, using DATABASE_HOST = 'databasename' ?

I'm trying to get the name of the server the application is currently deployed on you see.

+9  A: 

You certainly can... it's encouraged, in fact. To use it, import the settings from django.conf (this imports your project's settings):

from django.conf import settings
print "My database host is %s" % settings.DATABASE_HOST

The documentation on Using settings in Python code explains why this works, and why this is preferable over importing the the settings.py module directly.

Jarret Hardie
for some constants, it would be interesting to use getattr()getattr(settings, "ITEMS_PER_PAGE", 25)
dzen
+4  A: 

yes

from django.conf import settings

print settings.MY_SETTINGS_VAR
Erik Aigner