DjangTenantschema为所有租户启用管理模块

2024-04-28 17:07:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用多租户架构设置django。我检查了https://django-tenant-schemas.readthedocs.io/en/latest/install.html 指令并到达有初始启动屏幕的点。 我想要实现的是为每个租户启用管理模块。 我的输入设置.py我有以下内容:

#Application definition
SHARED_APPS = (
    'tenant_schemas',  # mandatory, should always be before any django app
    'customers', # you must list the app where your tenant model resides in

    'django.contrib.contenttypes',

    # everything below here is optional

)

TENANT_APPS = (
    'django.contrib.contenttypes',

    # your tenant-specific apps
    # 'myapp.hotels',
    # 'myapp.houses',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',

)

INSTALLED_APPS = [
    'tenant_schemas',
    'customers',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

TENANT_MODEL = "customers.Client"

MIDDLEWARE = [
    'tenant_schemas.middleware.TenantMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'sitemanager.urls'
PUBLIC_SCHEMA_URLCONF = 'sitemanager.urls_public'

尝试打开http://localhost:8000/admin时出错:

^{pr2}$

我的网址.py公司名称:

from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
]

我在配置中缺少什么?在


Tags: appsdjangopyauthadmincontriburlsschemas
2条回答

我想django.contrib.sites公司应该在共享的应用程序中。在

感谢您使用django租户模式+1

添加PUBLIC_SCHEMA_NAME = 'public'排序问题。在

相关问题 更多 >