首页 > 解决方案 > Django - Site.objects.get_current().domain 返回 example.com

问题描述

我目前有一个在 Amazon EC2 上运行的 Django 应用程序。我的 Django 应用程序中有这段代码,它基本上有这段代码

 if not 'request' in self.context:
        #In case we dont have a context
        current_site = Site.objects.get_current().domain
        ret['employer_image'] = current_site + ret['employer_image']

现在Site.objects.get_current().domain正在返回example.com有关为什么返回 example.com 的任何建议?我总是可以对 url 进行硬编码,但我想知道为什么会失败?

标签: pythondjango

解决方案


django.contrib.sites 注册了一个 post_migrate 信号处理程序,该处理程序创建一个名为 example.com 的默认站点,其域为 example.com。

这个站点也将在 Django 创建测试数据库之后创建。

要为您的项目设置正确的名称和域,您可以使用数据迁移。

这来自文档https://docs.djangoproject.com/en/3.2/ref/contrib/sites/


推荐阅读