【问题标题】:django admin page is giving me 500 error in production [duplicate]django 管理页面在生产中给我 500 错误 [重复]
【发布时间】:2013-05-13 19:46:34
【问题描述】:

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

我看到了回溯,上面写着:DoesNotExist: Site matching query does not exist.

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

http://pastebin.com/QCdGWTDq

有人可以帮我吗?

【问题讨论】:

  • 您的 django.fcgi 文件是否将您的根文件夹添加到系统路径中?例如path = '/var/www/django/' if path not in sys.path: sys.path.insert(0, path) 这个想法是它应该在这个路径上找到你网站的目录(例如/var/www/django/mysite/
  • 页面的其余部分正常工作,但只有管理员不工作。 @pztrick

标签: python django django-admin


【解决方案1】:

只需在生产站点上通过 Django shell 添加一个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 对象,但我自己也遇到过由于某种原因没有发生这种情况的情况。

【讨论】:

  • 哇,完美!现在像魅力一样工作。我不知道Sites 被认为是example.com。好的。非常感谢
  • 但是,还有一件事。一旦我登录到管理员,它正在删除其他会话 ID?这是为什么?
  • 我不确定你的意思。无论如何,这似乎是一个不相关的问题,也许您最好为它创建另一个问题。
猜你喜欢
  • 2011-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
相关资源
最近更新 更多