【问题标题】:Get the absolute static file URL in my Django template在我的 Django 模板中获取绝对静态文件 URL
【发布时间】:2014-04-11 17:38:39
【问题描述】:

我想知道如何在 Django 的模板中直接获取静态文件的绝对 URL?

现在在我的模板中:

<link rel="stylesheet" href="{% static "css/bootstrap.min.css" %}">

返回

<link rel="stylesheet" href="/static/css/bootstrap.min.css">

我怎样才能进入开发:

<link rel="stylesheet" href="http://127.0.0.1:8000/static/css/bootstrap.min.css">

生产中

<link rel="stylesheet" href="https://mycompany.com/static/css/bootstrap.min.css">

【问题讨论】:

  • 为什么?这将使您的代码的可移植性降低并且容易出错。您是否正在尝试解决某个问题?
  • @BurhanKhalid 我的网站图标需要绝对 URL 以及 IE 7/8 和 HTML4 兼容性。我希望有一个比网站框架更简单的解决方案。

标签: django django-templates


【解决方案1】:

有两种选择:

  1. 推荐:使用sites framework 渲染相应的域
  2. 建议:将当前域作为 Django 设置存储在您使用的设置文件中,具体取决于您的环境

我通常选择 (1),唯一的缺点是您必须更新数据库中的当前域,但这通常发生在每次部署一次

然后将显示相应的域,与代码运行的位置无关;您应该始终在模板中使用static 标签,而不是手动处理域的显示。

【讨论】:

    猜你喜欢
    • 2013-10-09
    • 2012-07-28
    • 2011-12-18
    • 2017-11-03
    • 2013-06-18
    • 2012-12-10
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    相关资源
    最近更新 更多