Django无法读取块中的脚本

Posted

技术标签:

【中文标题】Django无法读取块中的脚本【英文标题】:Django unable to read script in block 【发布时间】:2020-10-17 18:58:48 【问题描述】:

我目前正在做一个 Django 项目。

对于我的一个应用程序,我有一个“private_base.html”模板,其中包含 2 个块:“body_block”和“js_block”。

private_base.html

<!DOCTYPE html>
% load static %

<html lang="en" dir="ltr">
  <head>
    <link rel="stylesheet" href="% static 'css/bootstrap.css' %">
    <link rel="stylesheet" href="% static 'css/private_base.css' %">
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>


    <div class="sidenav">

      <!-- side navbar -->

    </div>


    <div class="main">
      % block body_block %

      % endblock %
    </div>

    % block js_block %

    % endblock %

  </body>
</html>

我正在将此基本模板扩展为“search_result.html”

search_result.html

% extends 'private_base.html' %

% block body_block %

<!-- contents -->

% endblock %


% block js_block %

<script src="% static "js/group_search.js" %" type="text/javascript"></script>

% endblock %

当我访问该网站时,我收到以下错误消息:

“/group/search_result/ 处的模板语法错误 第 41 行的块标记无效:“静态”,预期为“结束块”。您忘记注册或加载此标签了吗?”

我想问一下我是否遗漏了什么,或者做错了什么导致 Django 在% block % 标签内时无法读取我的&lt;script&gt;,或者让 Django 与标签混淆。

我尝试只使用一个% block % 标记并将script 放置在“子”模板中,并且显示了相同的错误消息。当我将&lt;script&gt; 放在父 'private_base.html' 和任何% block % 之外时,脚本和网站运行得很好。

谢谢~~

【问题讨论】:

尝试使用内容而不是body_block 感谢您的回复@AkshatZala,我刚刚尝试将“body_block”更改为“内容”,仍然显示相同的错误 【参考方案1】:

将 % load static % 添加到 search_result.html

【讨论】:

【参考方案2】:

添加

% load static %  

search.html 在第一行

【讨论】:

嗨 @AkshatZala,% load static % 已经在 private_base.html 中,将 % load static % 更改为我的 html 文档的第一行也无济于事【参考方案3】:

search_result.html 的第一行必须是 % load 'static' %

【讨论】:

以上是关于Django无法读取块中的脚本的主要内容,如果未能解决你的问题,请参考以下文章

是否应该在刚刚从该 FIFO 读取所有数据之后从 FIFO 块中读取?

未捕获的类型错误:无法读取 jquery 滑块中未定义的属性“addClass”

django 中的 Jquery:未捕获的类型错误:无法读取 null 的属性“createDocumentFragment”

cStringIO,读取块中的字节直到EOF?

C:从标准输出块中读取

读取块中的csv文件时出现内存不足错误