Getting Site Matching Query Does Not Exist Error after creating django admin
Solution 1:
The Site
object for your Django project is missing. Each Django project has a Site
object which contains the site's name and domain. It is usually automatically created when creating a Django project (in particular, when the syncdb
command runs) but in your case it seems that didn't happen.
To fix it:
Open the Django shell for your site (python manage.py shell
).
Type the following:
>>> from django.contrib.sites.models import Site
>>> Site.objects.create(name='example.com', domain='example.com')
If you want to change these values later, go to your admin panel (/admin/
) and edit the site object in the section Sites
.
Solution 2:
In addition to Simeon Visser's answer for those of you still experiencing problems, make sure the SITE_ID
variable in your settings matches the ID of your newly created Site
-object.