2013-05-13 88 views
5

我想为我的网站设置django管理页面。对于我的本地开发服务器,它现在工作正常,但是一旦我将代码推送到服务器,并试图打开管理页面,它会给我500个错误页面。django管理页面在生产中给我500错误

只见回溯,跟它:DoesNotExist: Site matching query does not exist.

,但我不知道为什么,和这里发生了什么。这是整个回溯,

http://pastebin.com/QCdGWTDq

有人可以帮我吗?

+0

贵django.fcgi文件添加您的根文件夹添加到系统路径?例如'path ='/ var/www/django /'''如果路径不在sys.path中:''sys.path.insert(0,path)'这个想法是它应该在这个路径中找到你站点的目录'/ var/www/django/mysite /') – pztrick 2013-05-13 19:53:23

+0

该页面的其余部分正在工作,但只有管理员无法正常工作。 @pztrick – doniyor 2013-05-13 19:55:00

回答

3

只需通过Django的外壳上生产现场添加Site对象:

$ python manage.py shell 
>>> from django.contrib.sites.models import Site 
>>> Site.objects.create(domain='example.com', name='example.com') 

example.com对应于生产中使用你的网站的域名。

通常在运行syncdb命令时应该自动创建一个默认的Site对象,但是我自己遇到了由于某种原因未发生这种情况的情况。

+0

哇,完美!现在像魅力一样工作。我不知道''Sites''被认为是那个''example.com''。不错。非常感谢 – doniyor 2013-05-13 20:48:13

+0

,但还有一件事。一旦我登录到管理员,它正在删除其他会话ID?为什么是这样? – doniyor 2013-05-13 20:52:13

+0

我不确定你的意思。无论如何,看起来像一个无关的问题,也许你会更好地为它创建另一个问题。 – Tony 2013-05-13 21:05:34