Thank you for your detailed response. Following your response point by
point with few additional googling, it works as expected.

On cpanel:
I created a subdomain called *
Then I chose document root as the main Django root. (This is needed so that
letsencrypt can automatically create a certificate.)

Then the routing works seemlessly

Thank you

On Thu, Dec 30, 2021, 7:06 PM Sherif Adigun <[email protected]> wrote:

> Thank you very much for you guidance. I have been able to make it work
> using Django-hosts on my local. Still trying to fix it out to work on my
> shared hosting if possible
>
> On Thu, Dec 30, 2021, 10:29 AM Sherif Adigun <[email protected]>
> wrote:
>
>> Thank you @Tim.  Django subdomains looks promising but it's outdated. It
>> uses codes and imports of django< v2  I have checked django-hosts but it
>> looks as if it can be used  for only predefined list of subdomains. Please
>> help clarify this doubt.
>>
>> Thank you for your time
>>
>> On Thursday, December 30, 2021 at 1:10:17 AM UTC+1 Tim Chase wrote:
>>
>>> On 2021-12-29 15:02, Sherif Adigun wrote:
>>> > I am faced with a requirement where each user is required to use
>>> > the application under his own subdomain. Whenever a user registers,
>>> > he gets username.domain.com and he can add staff, manage reports,
>>> > etc under his subdomain.
>>> >
>>> > What is the best approach to you can suggest please?
>>>
>>> Generally this requires
>>>
>>> 1) configuring your DNS to allow for wildcard domains so that
>>> *.domain.com points at your web server, usually looking something like
>>>
>>> *.example.com. 3600 IN A 198.51.100.17
>>>
>>> 2) setting up your HTTPS certificates. This could be
>>>
>>> - involve an ACME-aware Django route (I'm not sure if such a beast
>>> exists)
>>>
>>> - configuring an ACME client like certbot to update your
>>> DNS records so that Let's Encrypt can verify that you own the
>>> domain and then grant your a wildcard cert
>>>
>>> - use a different CA to obtain a wildcard cert
>>>
>>> 2b) if you used a more manual method, put the certs in the
>>> appropriate place for your web-server to pick them up
>>>
>>> 3) configure your web-server front-end/proxy (usually nginx or
>>> Apache, but there are others) to handle the wildcard domains and pass
>>> them through to your Django app or WSGI server or what have you. Make
>>> sure the domain information is passed through in the HTTP_HOST header
>>>
>>> 4) use django-subdomains[1] (or maybe django-hosts[2]) middleware to
>>> extract the intended host-name from the HTTP_HOST header and possibly
>>> make the route reversable so that .reverse() works
>>>
>>> 5) check your views so that they make use of the HTTP_HOST
>>> information to filter for user-specific information
>>>
>>> -tkc
>>>
>>>
>>> [1] https://django-subdomains.readthedocs.io/en/latest/
>>>
>>>
>>> [2] https://github.com/jazzband/django-hosts
>>>
>>>
>>>
>>>
>>>
>>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Django users" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/django-users/CTynQlthabY/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/django-users/6057efaf-5e10-498a-ad2a-40132425412dn%40googlegroups.com
>> <https://groups.google.com/d/msgid/django-users/6057efaf-5e10-498a-ad2a-40132425412dn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CACP0aXhauGv-q4o_UERihQgAH3Ga6wn_MSYXqm8O4SmMfabTqQ%40mail.gmail.com.

Reply via email to