将 django 项目部署到服务器后,访问 admin 时出现如下错误:
DoesNotExist at /admin/ Site matching query does not exist.
上网搜索后,参考 http://stackoverflow.com/questions/9736975/django-admin-doesnotexist-at-admin 修复了该问题,下面记录一下解决过程。
两种解决办法:
-
第一种办法是:编辑 settings.py 文件,从
INSTALLED_APPS
配置项中移除'django.contrib.sites',
。 -
第二种办法:通过
python manage.py shell
为 Site model 添加一条记录(将网站的域名添加进去):$ python manage.py shell >>> from django.contrib.sites.models import Site >>> Site.objects.create(pk=1, domain='tumblr.3sd.me', name='tumblr.3sd.me') <Site: tumblr.3sd.me>
我使用第二种办法解决了我的问题
创建admin账号:
-
首先我们要新建一个用户名,用来登陆管理网站,可以使用如下命令:
python manage.py createsuperuser
-
输入想要使用的用户名:
Username (leave blank to use 'administrator'): user01
-
输入email:
Email address: (在这里输入你的自己的邮箱帐号)
-
输入密码,需要输入两次,并且输入密码时不会显示出来:
Password:
Password (again):
当两次密码都相同的时候,就会提示超级帐号创建成功。
Superuser created successfully.