Skip to main content

django-tenant-admin

Quick Start

In the settings.py:

  1. Add "tenant_admin.apps.Config" to your INSTALLED_APPS
  2. Add TENANT_TENANT_MODEL and TENANT_STRATEGY

settings.py

INSTALLED_APPS = [
    "demoapp.apps.Config",
    ...
    # 'django.contrib.admin',
    ...
    "django.contrib.staticfiles",
    "smart_admin.apps.SmartTemplateConfig",
    "smart_admin.apps.SmartConfig",
    "admin_extra_buttons",
    "tenant_admin.apps.Config",
]

TENANT_TENANT_MODEL = "<app_label>.<model_name>"
TENANT_STRATEGY = "<app_label>.YourStrategy"

urls.py

import tenant_admin.sites


urlpatterns = (
    path("manage/", tenant_admin.sites.site.urls),
    ...
)

Some clarification:

`Strategy` is about visibility
`Permission` is about authorization

Contributing

git checkout https://gitlab.com/os4d/django-tenant-admin.git
cd django-tenant-admin
python -m venv .venv
. .venv/bin/activate
pip install -e .[dev]
pre-commit install

Create sample data

This will create the DB ./django_tenant_admin.sqlite and populate with some example data.

./manage.py demo

This will create:

  • 4 Country records: 'Afghanistan', 'Ukraine', 'Somalia', 'Sudan'
  • 4 Office records: 'Afghanistan Office', 'Ukraine Office', 'Somalia Office', 'Sudan Office'
  • 10 Employee records: 'Employee 0' to 'Employee 9'
  • An 'admin-ukr' user assigned to 'Ukraine Office'
  • An 'admin-afg' user and 8 additional users (username3 to username12) assigned to 'Afghanistan Office'
  • An 'admin' user not assigned to any office

Try it with:

./manage.py runserver

Connect to http://localhost:8000

NB:

  • No need to create users as for demo purposes there is a backend that will create the user on the fly using any password

Metadata

Release files for django-tenant-admin 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-tenant-admin 0.1.0
File Size Uploaded
django-tenant-admin-0.1.0.tar.gz 29.9 kB Details

Release files / django-tenant-admin-0.1.0.tar.gz

Download URL django-tenant-admin-0.1.0.tar.gz
Size 29.9 kB
Tags Source
SHA-256 checksum
How to use checksums
cef60b0072b96ba01e069f5cc373958139f403d10e101c678a3cf3aca9a62bc7
BLAKE2b-256 checksum
How to use checksums
de37e5d3c82d04a50a2fbd8b2e76a1cd84dceccf7aafe5262b2ae519e7fc66b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.2

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page