Настройка представления 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()
>>>
Вид установлен после one.save()^
Есть предложения, что я могу сделать, чтобы каждый домен указывал на свой собственный специфический вид?
