在我的Django模板中获取绝对静态文件URL

Gui*_*ent 8 django django-templates

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

现在在我的模板中:

<link rel="stylesheet" href="{% static "css/bootstrap.min.css" %}">
Run Code Online (Sandbox Code Playgroud)

返回

<link rel="stylesheet" href="/static/css/bootstrap.min.css">
Run Code Online (Sandbox Code Playgroud)

我如何上开发:

<link rel="stylesheet" href="http://127.0.0.1:8000/static/css/bootstrap.min.css">
Run Code Online (Sandbox Code Playgroud)

在生产上

<link rel="stylesheet" href="https://mycompany.com/static/css/bootstrap.min.css">
Run Code Online (Sandbox Code Playgroud)

Jos*_*mit 5

有两种选择:

  1. 推荐:使用站点框架来渲染适当的域
  2. 推荐:根据您的环境将当前域存储为您使用的设置文件中的 Django 设置

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

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