我在生产中的Django网站上收到此错误:
您正在使用Django“站点框架”而未设置SITE_ID设置。在数据库中创建一个站点并设置SITE_ID设置或将请求传递给Site.objects.get_current()以修复此错误。
问题已被提出here,但接受的答案建议在生产中使用runserver
。
也有人问here,但接受的答案是难以理解的。
我已尝试将以下内容添加到我的settings.py
文件中,但会引发错误:
from django.contrib.sites.models import Site
SITE_ID = Site.objects.get_current()
错误是:
django.core.exceptions.ImproperlyConfigured:SECRET_KEY设置不能为空。
...但我确实设置了SECRET_KEY设置。
在Django documentation上为同一服务器上的多个站点提供服务的正确方法是什么?
答案 0 :(得分:0)
这里的答案是包括Sites framework middleware:
'django.contrib.sites.middleware.CurrentSiteMiddleware'
每次错误通知时,每次请求都会自动将request
对象传递给Site.objects.get_current()
。