【问题标题】:'static' text not adding in django template“静态”文本未添加到 django 模板中
【发布时间】:2015-03-29 14:12:57
【问题描述】:

我想知道“静态”文本不依赖于静态文件。在设置文件中

INSTALLED_APPS = (
...,
'django.contrib.staticfiles',
...,
)  

STATIC_URL = '/static/'

在我的模板中,

{% load staticfiles %}
  <title>Knowlarity Test</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="{% static '/css/bootstrap.css' %}">
  <script src="{% static '/js/jquery.js' %}"></script>
  <script src="{% static '/js/bootstrap.min.js' %}"></script>

但是当我在浏览器中刷新页面时,它给出了 http://127.0.0.1:8000/js/bootstrap.min.js 不是 http://127.0.0.1:8000/static/js/bootstrap.min.js 但是如果我硬编码就可以了。 没有添加“静态”文本?

【问题讨论】:

    标签: python django django-templates django-staticfiles


    【解决方案1】:

    我认为您需要删除前导斜杠,如下所示:

    {% static 'js/jquery.js' %}
    

    【讨论】:

    • 太好了,你能告诉我为什么会这样吗?
    • 前导斜杠使其成为绝对路径(从您的根目录开始),而且您的 STATIC_URL 已经包含一个尾随斜杠。
    【解决方案2】:

    django 几乎在所有内容中都添加了斜杠,以保持 url 模式的一致性,即"/static" == "/static/"' 并避免让访问您的应用的用户感到困惑。看起来模板正在使用“/static//js/jquery.js”进行渲染。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-18
      • 2016-03-02
      • 1970-01-01
      • 2013-01-23
      • 2012-06-03
      • 2021-01-09
      • 2019-05-11
      相关资源
      最近更新 更多