I wanted to add a Disqus discussion for our blog on efektivni-altruismus.cz and it wasn't that straightforward as I thought.
I decided to use
django-disqus plugin. I installed it according to documentation, which is easy (download, add
API_KEY obtained from Disqus and short name).
After putting it to production everything worked great. But a day later newly created users couldn't log in. They just got Error 500. I found out in logs that it has something to do with
Sites framework - that the requested site object doesn't exists.
The problem is because of the fact that
wagtail uses different
Sites framework than official django's which is needed for
Hence, I had to basically duplicate our existing sites from wagtail sites modules to Django's. This is of course workaround and not a proper solution...
python manage.py shell:
>>> from django.contrib.sites.models import Site as djangoSite >>> from django.apps import apps >>> Site = apps.get_model('wagtailcore.Site') >>> Site.objects.all() <QuerySet [<Site: Oficiální stránky Spolku pro efektivní altruismus [default]>, <Site: Summer School AI>]> >>> [(x.id, x.hostname) for x in Site.objects.all()] [(2, 'efektivni-altruismus.cz'), (4, 'test.efektivni-altruismus.cz')] >>> djangoSite.objects.create(pk=2, hostname='efektivni-altruismus.cz') >>> djangoSite.objects.create(pk=4, hostname='test.efektivni-altruismus.cz')
And that's it!