aboutsummaryrefslogtreecommitdiffstats
path: root/config/wsgi.py
diff options
context:
space:
mode:
authorMatthew Lemon <y@yulqen.org>2024-05-13 17:26:25 +0100
committerMatthew Lemon <y@yulqen.org>2024-05-13 17:26:25 +0100
commitefbbd480ddc62e695123d31c31d233b0df5155bd (patch)
treebc2fb465edd5050d83c97f280b1aac8e023fe3e5 /config/wsgi.py
After first pre-commit processing
Diffstat (limited to 'config/wsgi.py')
-rw-r--r--config/wsgi.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/config/wsgi.py b/config/wsgi.py
new file mode 100644
index 0000000..96dd59f
--- /dev/null
+++ b/config/wsgi.py
@@ -0,0 +1,40 @@
+# ruff: noqa
+"""
+WSGI config for pyblackbird-cc project.
+
+This module contains the WSGI application used by Django's development server
+and any production WSGI deployments. It should expose a module-level variable
+named ``application``. Django's ``runserver`` and ``runfcgi`` commands discover
+this application via the ``WSGI_APPLICATION`` setting.
+
+Usually you will have the standard Django WSGI application here, but it also
+might make sense to replace the whole Django WSGI application with a custom one
+that later delegates to the Django one. For example, you could introduce WSGI
+middleware here, or combine a Django application with an application of another
+framework.
+
+"""
+
+import os
+import sys
+from pathlib import Path
+
+from django.core.wsgi import get_wsgi_application
+
+# This allows easy placement of apps within the interior
+# pyblackbird_cc directory.
+BASE_DIR = Path(__file__).resolve(strict=True).parent.parent
+sys.path.append(str(BASE_DIR / "pyblackbird_cc"))
+# We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks
+# if running multiple sites in the same mod_wsgi process. To fix this, use
+# mod_wsgi daemon mode with each site in its own daemon process, or use
+# os.environ["DJANGO_SETTINGS_MODULE"] = "config.settings.production"
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.production")
+
+# This application object is used by any WSGI server configured to use this
+# file. This includes Django's development server, if the WSGI_APPLICATION
+# setting points here.
+application = get_wsgi_application()
+# Apply WSGI middleware here.
+# from helloworld.wsgi import HelloWorldApplication
+# application = HelloWorldApplication(application)