在扩展其他模板(Django javascript)的模板中加载静态文件

在扩展其他模板(Django javascript)的模板中加载静态文件,javascript,python,django,templates,Javascript,Python,Django,Templates,我想在扩展基本通用模板的模板中加载一个javascript文件。我正在使用通用listView来呈现模板 由于我不能在{%block%}标记内使用{%url%}tamplate标记,因此我将链接硬编码如下: <script src="static/js/search.js"> 不幸的是,该文件无法工作,我收到一条消息:SyntaxError:expected expression,got'您可以在块中使用{%url%}。要使用static,请确保在需要时在extends模板标记后直

我想在扩展基本通用模板的模板中加载一个javascript文件。我正在使用通用listView来呈现模板

由于我不能在{%block%}标记内使用{%url%}tamplate标记,因此我将链接硬编码如下:

<script src="static/js/search.js">
不幸的是,该文件无法工作,我收到一条消息:SyntaxError:expected expression,got'您可以在块中使用{%url%}。要使用static,请确保在需要时在extends模板标记后直接包含{%loadstatic%}。然后你可以:

<script src="{% static 'js/search.js' %}">
可以在块中使用{%url%}。要使用static,请确保在需要时在extends模板标记后直接包含{%loadstatic%}。然后你可以:

<script src="{% static 'js/search.js' %}">
您不需要使用{%url%}标记来获取静态文件的路径,只需在模板文件的顶部写下以下内容:

{% load staticfiles %}
之后,您可以通过以下结构访问静态文件:

<script src="{% static 'js/search.js' %}">
index.html:

{% block script %}
    <script src="{% static 'js/search.js' %}">
{% endblock %}
希望这会有所帮助。

您没有使用{%url%}标记来获取静态文件的路径,只需在模板文件的顶部写下以下内容:

{% load staticfiles %}
之后,您可以通过以下结构访问静态文件:

<script src="{% static 'js/search.js' %}">
index.html:

{% block script %}
    <script src="{% static 'js/search.js' %}">
{% endblock %}

希望这会有所帮助。

你能发布模板的代码吗??从上到下你能发布模板的代码吗??自上而下,您忘记了块名称中的脚本=是-我使用了错误的模板标记。我把它标记为一个答案,非常感谢。但是,我仍然不知道脚本的硬编码版本有什么问题。您在block name=Yes中忘记了脚本-我使用了错误的模板标记。我把它标记为一个答案,非常感谢。但是我仍然不知道硬编码版本的脚本有什么问题。你为我节省了一些时间:谢谢。你为我节省了一些时间:谢谢。