【发布时间】:2012-08-29 15:09:35
【问题描述】:
我正在尝试向应用程序添加一些简单的租户支持,创建一个帐户模型,该模型具有从请求 url 读取的字符串“租户”并识别系统中的租户:
tenant.example.com/* -> www.example.com/tenant/*(由 apache 重写)
我编写了一个简单的中间件来从 request.path 捕获这个 /tenant/ 并添加一个 request.account 对象来使用。
我的问题是我的 url 映射。
我试过这个:
url(r'^(?P<tenant_id>[\w\-]+)/', include('project.urls_tenant')),
并在 urls_tenant.py 中定义了一些简单的 url:
url(r'^app1/', include('project.app1.urls')),
url(r'^app2/', include('project.app2.urls')),
当我尝试访问任何页面时,我收到一条错误消息:
generic_view_method() 得到了一个意外的关键字参数“tenant_id”
因为它不(也不应该)期望tenant_id 作为参数。
如果我将 urls.py 文件中的 tenant_id 硬编码为 /test_tenant/ 一切正常。
我做错了什么以及如何解决它,以便正常处理请求和响应?
非常感谢你们。我以此为参考:optimal architecture for multitenant application on django
【问题讨论】:
标签: python django multi-tenant