Login

Setting distinction between development and public server

Author:
Archatas
Posted:
March 8, 2007
Language:
Python
Version:
Pre .96
Tags:
development public
Score:
1 (after 7 ratings)

If your code is under source control and you develop locally and then publish that globally, you might need to modify the settings file after each update to ensure the system paths and database settings are correct.

This simple solution helps to distinguish development server from the public server. And you won't need to care about modifying files on the public server anymore.

Create a file called dev_environment.py in your site-packages directory of the development server only (do not put it under source control). Then use the following lines in the beginning of your files, you want to check whether you are in the development environment.

try: 
    from dev_environment import *
except:
    is_dev_environment = False

Then for example, you can set the database settings according the environment:

if is_dev_environment:
    DATABASE_NAME = "test"
    DATABASE_USER = "root"
    DATABASE_PASSWORD = ""
else:
    DATABASE_NAME = "publicproject"
    DATABASE_USER = "projectuser"
    DATABASE_PASSWORD = "ahl3379ljkasd"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# dev_environment.py at site-packages
"""
For checking whether the code is executed on the public or local server
>>> try: 
...     from dev_environment import *
... except:
...     is_dev_environment = False
...
"""
is_dev_environment = True

More like this

  1. Keep settings.py in version control safely by mboersma 8 years, 2 months ago
  2. Load local settings by ofalk 5 years, 11 months ago
  3. Effective content caching for mass-load site using redirect feature by nnseva 3 years, 10 months ago
  4. Load a local settings file for dev/test environments by menendez 6 years, 10 months ago
  5. Simple Plone Migration by msm-art 7 years, 4 months ago

Comments

Please login first before commenting.