Skip to main content

Django multi-tenant app where each subdomain is a tenant

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

django_subdomain_tenancy_omladalan

django-subdomain-tenancy is a Django multi-tenant app where each subdomain is a tenant, simplifying deployment, scalability, and per-client management.

Detailed documentation is in the "docs" directory.

Quick start

1. Add django_subdomain_tenancy_omladalan.apps.SubdomainConfig to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = [
        ...,
        "django_subdomain_tenancy_omladalan.apps.SubdomainConfig",
    ]

2. Add this configs in settings.py:

    AUTH_USER_MODEL = 'subdomain.CustomUser'
    LOGIN_URL = '/accounts/login/' 
    LOGIN_REDIRECT_URL = "/"
    LOGOUT_REDIRECT_URL = "/"

    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    
    EMAIL_HOST = XXXXXXXXX
    EMAIL_PORT = XXXXXXXXX
    EMAIL_USE_TLS = XXXXXXXXX
    EMAIL_HOST_USER = XXXXXXXXX
    EMAIL_HOST_PASSWORD = XXXXXXXXX
    DEFAULT_FROM_EMAIL = XXXXXXXXX

3. Include the polls URLconf in your project urls.py like this::

    path("", include("django_subdomain_tenancy.urls")),

4. Run python3 manage.py migrate to create the models.

5. Create a record in instance table for master dubdomain:

    insert into django_subdomain_tenancy_intance 
    values(1, "Master Tenant", "master", 1);

6. Create SuperUser administrator

(It needs to be this way, because they're the only user who can log in to all the subdomains.), 
and set id instance `1`:

``python3 manage.py createsuperuser``

7. Visit the / For Login in the system fronend,

`/admin/` Logging is only allowed using the master subdomain.

8. For the development environment, add one more instance; I'll use the test subdomain cobaia:

    insert into django_subdomain_tenancy_intance 
    values(2, "Cobaia Tenant", "cobaia", 1);

If use Linux or Mac add the following lines to the /etc/hosts file:

    127.0.0.1 master.localhost
    127.0.0.1 cobaia.localhost

If you're using Windows, you're starting the project the wrong way.

9. Access tenant urls:

    master.localhost:8000
    cobaia.localhost:8000

Simple Login Frontend: /accounts/login/

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

django_subdomain_tenancy_omladalan-0.1.1.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file django_subdomain_tenancy_omladalan-0.1.1.tar.gz.

File metadata

File hashes

Hashes for django_subdomain_tenancy_omladalan-0.1.1.tar.gz
Algorithm Hash digest
SHA256 aa21929d4f5a69e5ed3cea0f08283a27cca494b79a88ef42548c05b19e85c87f
MD5 89a15590ac586e25f170e39cee845cd5
BLAKE2b-256 4ff7369c0b9a8d656ee3e80c1d7f734694ab56e8010cfe74a371126260c5785c

See more details on using hashes here.

File details

Details for the file django_subdomain_tenancy_omladalan-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_subdomain_tenancy_omladalan-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0f0ecb0e07bf2b9b3fdb8a317751801674d19351824ca4dc0e6b46bac84470aa
MD5 c3cc189c9541e2034746ac1ea9665e60
BLAKE2b-256 18eac68725fa43a2bc9814ba877aed13b4c91cb05510db36218534b357a79a34

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