Package: django-webfaction
Django-WebfactionCollection of tools to run django on webfaction more seamlessInstallation:Install with pip or easy install (pip install django-webfaction)Usage:Console utilityDjango webfaction containswebfactionctlutility that can be used to control your webfaction services from command-line.You get access to basic commands like a list machines/apps/databases/ips/.. and crate apps and databases.
For example to get list of your current dbs just run:webfactionctl list_dbsYou can get extended info of your machines with current RAM usage, apps and processes withstatecommand:$ webfactionctl state
Query machines list...
Query apps list...
Query machine state detail: Web210 Web217 Web223 Web317 Web327
+-----------+------------------+--------+--------------------+-----------+---------------+-----+
| ram_usage | operating_system |  name  |      location      | app_count | process_count | id  |
+===========+==================+========+====================+===========+===============+=====+
| 209708    | Centos5-32bit    | Web210 | Europe (Amsterdam) | 19        | 20            | 376 |
+-----------+------------------+--------+--------------------+-----------+---------------+-----+
| 43112     | Centos5-32bit    | Web217 | Europe (Amsterdam) | 2         | 7             | 386 |
+-----------+------------------+--------+--------------------+-----------+---------------+-----+
| 175352    | Centos5-32bit    | Web223 | Europe (Amsterdam) | 12        | 17            | 395 |
+-----------+------------------+--------+--------------------+-----------+---------------+-----+
| 8220      | Centos6-64bit    | Web317 | Europe (Amsterdam) | 6         | 7             | 445 |
+-----------+------------------+--------+--------------------+-----------+---------------+-----+
| 66092     | Centos6-64bit    | Web327 | Europe (Amsterdam) | 2         | 9             | 462 |
+-----------+------------------+--------+--------------------+-----------+---------------+-----+Django deployment wizardWithwebfactionctl stup_django_projectyou can run django deployment wizard that:Prepare server by installing pip, virtualenv, gunicorn, django-webfaction globally for your account.Create main app for your projectSetup virtualenv for your main projectPrepare gunicorn contorl script for your projectCreate static app for your projectPrepare settings_local for your projectSending mail from local sendmail asynchronousThere is a fail in webfaction deployment, when there is no sendmail server
running on localhost, only smtp server in US. For apps runned in Europe
sending a mail from stmp.webfaction.com or running local sendmail process
takes >1.2 seconds that definately require asynchronous system.To use asychronous message sending system just add this line to your django settings file:EMAIL_BACKEND = 'webfaction.backends.EmailBackend'Accessing REMOTE_ADDR from djangoWhen a Django application’s Apache instance proxies requests to Django,
the REMOTE_ADDR header is not set with the clients’s IP address.
Adding thiswebfaction.middleware.WebFactionFixesto your MIDDLEWARE_CLASSES
replace REMOTE_ADDR with correct client’s IP.If you use classic method to modify deployed settings by putting:try:
    from settings_local import *
except ImportError:
    passat the end of settings.py file, you can put this code to settings_local:MIDDLEWARE_CLASSES = (
   'webfaction.middleware.WebFactionFixes',
) + MIDDLEWARE_CLASSES