Skip to main content

Django application that implements shared tenancy

Project description

djaodjin-multitier is a Django application that implements shared tenancy.

Major Features:

  • Dynamically select the following based on subdomain or path prefix:
    • Database connection
    • SMTP connection
    • Templates
  • URL resolvers: Dynamic path prefix (as a hack in i18n module)

The notes of the presentation at a SF Django Meetup are useful to understand how middlewares, thread locals and template loaders were used to implement multi-tier applications here.

Development

After cloning the repository, create a virtualenv environment, install the prerequisites, create and load initial data into the database, then run the testsite webapp.

$ python -m venv .venv
$ source .venv/bin/activate
$ pip install -r testsite/requirements.txt

# Create the fixtures databases and run the server
$ make initdb
$ python manage.py runserver

Release Notes

Tested with

  • Python: 3.10, Django: 4.2 (LTS)
  • Python: 3.12, Django: 5.1 (next)
  • Python: 3.7, Django: 3.2 (legacy)

0.3.0

  • adds fields for workflow configuration settings
  • swaps order of location and request parameters in build_absolute_uri

previous release notes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

djaodjin_multitier-0.3.0.tar.gz (20.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

djaodjin_multitier-0.3.0-py3-none-any.whl (36.9 kB view details)

Uploaded Python 3

File details

Details for the file djaodjin_multitier-0.3.0.tar.gz.

File metadata

  • Download URL: djaodjin_multitier-0.3.0.tar.gz
  • Upload date:
  • Size: 20.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.13

File hashes

Hashes for djaodjin_multitier-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2f377290daa4d3aece1d5398cc4bc8f8058222920fe4090d15aecf88df8e5898
MD5 5cf22fd6188d47976a74b3f8081325df
BLAKE2b-256 1f48c1ff5a7c3a5c36cba9f753e24c88bafdf7fa0780b10879dc446e0e1a80b2

See more details on using hashes here.

File details

Details for the file djaodjin_multitier-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for djaodjin_multitier-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 70fa72aa86040fd5281985887ed1d3601b838876a3ab6ef65cf0fed52b10f26c
MD5 e655f47de7df052cb84ef21594081f52
BLAKE2b-256 30f7349208c0c5d8451061929c528ef239441a0cfd71cf8fa02aa3448721b750

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page