An easy solution might be to encode the domain as an environment variable, which can be configured on a per-instance basis (using foreman .env or Heroku config variables). This could be written into ALLOWED_HOSTS dynamically and could replace hard coded references to karmanotes.org as far above.
domain is encoded into URLs in cases where it cannot be extracted by
HTTP_REFERER
like so: https://github.com/FinalsClub/karmaworld/blob/master/karmaworld/apps/notes/tasks.py#L55-L56ALLOWED_HOSTS
could be used for this purpose, but we use a single code base across multiple servers (specifically staging and production), which makes file-based configuration bad for this. https://github.com/FinalsClub/karmaworld/blob/master/karmaworld/settings/common.py#L22-L24An easy solution might be to encode the domain as an environment variable, which can be configured on a per-instance basis (using foreman
.env
or Heroku config variables). This could be written intoALLOWED_HOSTS
dynamically and could replace hard coded references tokarmanotes.org
as far above.