Настройка представления Django с несколькими доменами / Django Sites. нужна помощь

Я пытаюсь понять, как установить кодовую базу Multisite с Django (без внешних аддонов, таких как Wagtail).

Я создал несколько фиктивных доменов и зарегистрировал их на etc/hosts "example.com", "example2.com". Теперь они оба отвечают, как будто это "localhost".

Я пытаюсь найти способ заставить их переходить на разные страницы/просмотры в соответствии с их разными доменами. Я просмотрел https://docs.djangoproject.com/en/4.0/ref/contrib/sites/. документацию по сайтам и все еще застрял.

Представление, которое я пытаюсь заставить работать, следующее:

def my_view(request):
    # current_site = request.get_host
    current_site = Site.objects.get_current()
    if current_site.domain == 'example2.com':
        html = "<html><body>Hello World at Example2 two</body></html> " + "current_site.domain=" + current_site.domain
        Site.objects.clear_cache()
        return HttpResponse(html)
        pass
    elif current_site.domain == 'example.com':
        html = "<html><body>Hello World at Example1 one</body></html> " + "current_site.domain=" + current_site.domain
        Site.objects.clear_cache()
        return HttpResponse(html)
        pass
    else:
        html = "<html><body>Hello World</body></html> " + "current_site.domain=" + current_site.domain
        Site.objects.clear_cache()
        return HttpResponse(html)
        pass

Я также попробовал изменить домен, как показано ниже (Это было сделано в оболочке python в оболочке pipenv), однако он не меняет его автоматически на адрес домена и устанавливает его постоянно на тот, который я сохранил:

((django-todo-react) ) ➜  backend git:(master) ✗ ./manage.py shell
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.contrib.sites.models import Site
>>> one = Site.objects.all()[0]
>>> one.domain = 'example.com'
>>> two = Site.objects.all()[0]
>>> two.domain = 'example2.com'
>>> one.save()
>>> two.save()
>>> 

view not responding to domain

Вид установлен после one.save()^

Есть предложения, что я могу сделать, чтобы каждый домен указывал на свой собственный специфический вид?

Вернуться на верх