如何在 Django 模板中获取我网站的域名?

新手上路,请多包涵

如何从 Django 模板中获取当前站点的域名?我试过查看标签和过滤器,但什么也没有。

原文由 mog 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 595
2 个回答

我想你想要的是访问请求上下文,请参阅 RequestContext。

原文由 phsiao 发布,翻译遵循 CC BY-SA 2.5 许可协议

如果您想要实际的 HTTP 主机标头,请参阅 Daniel Roseman 对 @Phsiao 的回答的评论。另一种选择是,如果您使用的是 contrib.sites 框架,则可以在数据库中为站点设置规范域名(将请求域映射到具有正确 SITE_ID 的设置文件是您必须通过网络服务器设置)。在这种情况下,您正在寻找:

 from django.contrib.sites.models import Site

current_site = Site.objects.get_current()
current_site.domain

如果你想使用它,你必须自己将 current_site 对象放入模板上下文中。如果您到处都在使用它,则可以将其打包到模板上下文处理器中。

原文由 Carl Meyer 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题