python - 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 进行硬编码,但我想知道为什么会失败?
解决方案
django.contrib.sites 注册了一个 post_migrate 信号处理程序,该处理程序创建一个名为 example.com 的默认站点,其域为 example.com。
这个站点也将在 Django 创建测试数据库之后创建。
要为您的项目设置正确的名称和域,您可以使用数据迁移。
这来自文档https://docs.djangoproject.com/en/3.2/ref/contrib/sites/
推荐阅读
- git - 如何签出到另一个分支并强制覆盖更改
- php - 使用 JQuery blueimp 上传多个文件
- python - 从 Dataframe 时间序列中提取每月日期
- ios - UITableViewWrapperView 在 tvOS 上具有超级视图的前导和尾随边距
- angular - Angular 6 的 Karma-Jasmine 上的“TypeError:无法读取属性‘routeConfig’ of null”
- c# - 将json字符串反序列化为变体的变体数组时如何控制变体类型
- codeblocks - 尝试调试 [C++] [Code::Blocks] 时出现“未知选项‘全名’”
- vba - 无法检查范围是否为空
- sql - FindOneBy 或 Find Doctrine 的区别
- r - 使用 lapply 和 read_xls 将文件名用作列表名称