Это в значительной степени зависит от того, как достигается многопользовательский режим.
Если вы еще не встроили мультитенантность в свое приложение, я рекомендую вам взглянуть на что-то вроде django-tenants
, которое добавляет поддержку мультитенантности на основе поддоменов и схем PostgreSQL. Если это не подходит, вы можете изучить другие подобные библиотеки .
После того, как вы настроите django-tenants
, на стороне Джанго больше ничего не нужно делать. Все это приходит в конфигурации. Запросы к настроенным поддоменам будут перенаправляться в соответствующую схему базы данных общего доступа или базы клиентов.
Но эти запросы должны поступить в ваше приложение. Вот где приходит DNS, в идеале с использованием подстановочных субдоменов.
Сначала добавьте *.your-domain.tld
к доменам вашего приложения на стороне Heroku:
heroku domains:add *.your-domain.tld
Затем добавьте запись CNAME с подстановочным знаком с вашим провайдером DNS¹. Точная механика того, как это сделать, будет варьироваться от поставщика к поставщику. Вы сказали, что переходите на DNSimple, и похоже, что они поддерживают записи CNAME с подстановочными знаками, используя *
.
ortunately К сожалению, некоторые провайдеры DNS, такие как GoDaddy, не поддерживают записи CNAME с подстановочными знаками . В этом случае вам придется индивидуально создавать каждую запись CNAME.