javascript - 使用 Django 和 Python 包含 JavaScript 文件时出现错误

标签 javascript python django

我在使用 Django 将 JavaScript 文件包含在模板中时遇到一些错误。

错误:

TemplateSyntaxError at /
Invalid block tag on line 6: 'static'. Did you forget to register or load this tag?
Request Method: GET
Request URL:    http://127.0.0.1:8000/
Django Version: 1.11.2
Exception Type: TemplateSyntaxError
Exception Value:    
Invalid block tag on line 6: 'static'. Did you forget to register or load this tag?
Exception Location: C:\Python34\lib\site-packages\django\template\base.py in invalid_block_tag, line 571
Python Executable:  C:\Python34\python.exe
Python Version: 3.4.4

设置.py:

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]

PROJECT_DIR = os.path.dirname(__file__)

""" Internationalization """

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True


""" Static files (CSS, JavaScript, Images) """

STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')

url.py:

"""Neuclear plant URL Configuration"""
from django.conf.urls import url, include
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
admin.autodiscover()

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^', include('plant.urls')),
]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

base.html:

 <!DOCTYPE html>
<html lang="en">
  <head>
<meta charset="utf-8">
{ % load static %}
<script type="text/javascript" src="{% static 'js/jquery.js' %}"></script>
  </head>
  <body>
    <header>
      <h1>Nuclear Reactor</h1>
      {% if count > 0  %}
      <b>Hi, {{ user.username }}</b>
        <a href="{% url 'home' %}">Home</a>
        <a href="{% url 'view_reactor' %}">View Reactor status</a>
        <a href="{% url 'logout' %}">logout</a>
      {% else %}
        <a href="{% url 'login' %}">login</a> / <a href="{% url 'signup' %}">signup</a>
      {% endif %}
      <hr>
    </header>
    <main>
      {% block content %}
      {% endblock %}
    </main>
  </body>
</html>

在上面的模板文件中我收到错误。这里我需要在这个模板中包含js文件。我的项目目录中还有 static/js/ 文件夹。

最佳答案

在模板顶部包含 {% load static %}

关于javascript - 使用 Django 和 Python 包含 JavaScript 文件时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45945249/

相关文章:

python - 自动文档 : base classes are shown with full name instead of respecting the import

python - 如何使用python检查给定的英语句子是否包含所有无意义的单词?

javascript - 适合对象 : get resulting dimensions

javascript - 如何从数组数据制作嵌套有序列表

javascript - 无法将 <animateTransform> 元素附加到 SVG 路径

javascript - 如何使用 javascript/jquery 选择/取消选择复选框

django - Django UpdateView 中的对象所有权验证

javascript - 在网站的一次导航中仅显示一次弹出窗口

python - 仅复制 SQLAlchemy 对象中的数据列

python - 新版本的 Django 中 DateModifierNode 的替代品是什么