1

我在生产中的 Django 站点上收到此错误:

您在没有设置 SITE_ID 设置的情况下使用 Django“站点框架”。在您的数据库中创建一个站点并设置 SITE_ID 设置或将请求传递给 Site.objects.get_current() 以修复此错误。

这个问题已经在这里提出,但接受的答案建议runserver在生产中使用。

这里也有人问过,但接受的答案是不可思议的。

我尝试将以下内容添加到我的settings.py文件中,但它会引发错误:

from django.contrib.sites.models import Site
SITE_ID = Site.objects.get_current()

错误是:

django.core.exceptions.ImproperlyConfigured:SECRET_KEY 设置不能为空。

...但我确实设置了 SECRET_KEY 设置。

遵循Django 文档在同一台服务器上为多个站点提供服务的正确方法是什么?

4

1 回答 1

0

这里的答案是包含站点框架中间件

'django.contrib.sites.middleware.CurrentSiteMiddleware'

这会根据错误通知自动将request对象传递给Site.objects.get_current()每个请求。

于 2017-09-21T15:15:46.783 回答