Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting Site Matching Query Does Not Exist Error after creating django admin

I'm going through the standard Django tutorial to create an admin for an app. After commenting the admin related stuff in settings and running syncdb I'm getting this message:

DoesNotExist at /admin/ Site matching query does not exist. 

Can anyone help me figure this out?

like image 592
David Haddad Avatar asked Jul 13 '12 18:07

David Haddad


1 Answers

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.

like image 112
Simeon Visser Avatar answered Oct 02 '22 20:10

Simeon Visser