TemplateSyntaxError at /statistics/ ‘staticfiles‘ is not a registered tag li

2023-11-06

报错django.template.exceptions.TemplateSyntaxError: ‘staticfiles’ is not a registered tag library. Mustbe one of:
admin_list
admin_modify
等内容
出现这个问题可能是使用之前2点几(如2.1)版本django的写法,换成使用3.几版本(如3.0.7)所导致。
解决办法:
指定staticfiles
settings.py 文件中TEMPLATES中的OPTIONS添加 如下代码

 'libraries': {
                'staticfiles': 'django.templatetags.static',
            },

完整文件如下:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
            'libraries': {
                'staticfiles': 'django.templatetags.static',
            },
        },
    },
]

以上就是解决步骤,以下是对TEMPLATES这一块内容的初步阅读,
根据官方文档和博客来说明一下这个setting模块的templates这部分:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            # ... some options here ...
        },
    },
]

BACKEND是实现Django模板后端接口的模板引擎类的一个点Python路径。内置的后端是django.template.backends.django.DjangoTemplates和 django.template.backends.jinja2.Jinja2。

由于大多数引擎都从文件加载模板,因此每个引擎的顶级配置包含两个常用设置:

DIRS 定义一个目录列表,引擎应在目录中按搜索顺序查找模板源文件。
APP_DIRS告知引擎是否应在已安装的应用程序中查找模板。每个后端为应在其模板中存储其应用程序的子目录定义一个常规名称。
虽然不常见,但可以使用不同的选项配置同一后端的多个实例。在这种情况下,您应该NAME为每个引擎定义一个唯一 的引擎。

OPTIONS 包含特定于后端的设置。
内置后端中有
设置BACKEND以 'django.template.backends.django.DjangoTemplates’配置Django模板引擎。

如果APP_DIRS为True,则DjangoTemplates 引擎将在templates已安装的应用程序的子目录中查找模板。保留该通用名称是为了向后兼容。
‘libraries’:模板字典模块的标签字典和点分Python路径,以向模板引擎注册。这可用于添加新库或为现有库提供备用标签。例如:

OPTIONS={
    'libraries': {
        'myapp_tags': 'path.to.myapp.tags',
        'admin.urls': 'django.contrib.admin.templatetags.admin_urls',
    },
}

可以通过将相应的字典键传递给标签来加载库。{% load %}

以下是别的博客内容,有较为详细的加载静态文件介绍,这里我们引用与这块问题相关内容。
在一个网页中,不仅仅只有一个html骨架,还需要css样式文件,js执行文件以及一些图片等。因此在DTL中加载静态文件是一个必须要解决的问题。在DTL中,使用static标签来加载静态文件。要使用static标签,首先需要{% load static %}
如果不想每次在模版中加载静态文件都使用load加载static标签,那么可以在settings.py中的TEMPLATES/OPTIONS添加’builtins’:[‘django.templatetags.static’],这样以后在模版中就可以直接使用static标签,而不用手动的load了。
注意: 位置不要添加错误了

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
            #添加在这个位置
            'builtins' : [
                'django.templatetags.static'
            ],
        },
    },
]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TemplateSyntaxError at /statistics/ ‘staticfiles‘ is not a registered tag li 的相关文章

随机推荐

  • freemarker教程

    FreeMarker语言 FreeMarker语言概述 FreeMarker是一个模板引擎 一个基于模板生成文本输出的通用工具 使用纯Java编写 FreeMarker被设计用来生成HTML Web页面 特别是基于MVC模式的应用程序 虽然
  • 高级计算机网络 知识点总结

    高级计算机网络知识点总结 一 引言 一 OSI七层模型 OSI定义了网络互连的七层框架 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 即ISO开放互连系统参考模型 每一层实现各自的功能和协议 并完成与相邻层的接口通信 OSI的
  • 5G及移动边缘计算(MEC)学习笔记(1)

    原文链接 https blog csdn net gongxifacai believe article details 80804841 1 1G 5G发展变革 1G 第一代移动通信系统出现在蜂窝系统理论提出之后 主要满足人们无线移动通话
  • GameFi 增长: 如果保持游戏用户的留存

    Mar 2023 Daniel 链游存在用户留存低的问题 对于所有关于成为游戏的未来的讨论 90 的区块链游戏在30天内就不活跃了 如果没有玩家长期享受游戏 今天大多数GameFi项目仍然只是DeFi协议 以及有更漂亮的图形和一些互动元素
  • idea 安装 Vue 插件后没有新建Vue文件Vue component选项

    解决办法 2 copy之后会出现一个新文件 Name 改成 Vue Component 然后把代码里的 COMPONENT 删掉即可
  • Android高斯模糊(毛玻璃效果)蒙层库

    ShapeBlurView ShapeBlurView库是一个高斯模糊 毛玻璃效果 蒙层库 Like iOS UIVisualEffectView不知大家做需求的时候是否有这样的效果要求 需求示例 大家熟悉的Android常用图片加载库 比
  • 剑指 Offer 62. 圆圈中最后剩下的数字(leetcode)--约瑟夫问题

    文章目录 题目描述 算法 约瑟夫问题 算法描述 解决方案 普通解法 缺点 公式法 代码 题目描述 算法 约瑟夫问题 算法描述 约瑟夫问题是个著名的问题 N个人围成一圈 第一个人从1开始报数 报M的将被杀掉 下一个人接着从1开始报 如此反复
  • 该连接被站点断开怎么办_上网速度慢、掉线怎么办

    又到周末啦 休息的小伙伴可以在家里看看视频 玩玩手机 打打王者 彪彪飞车 但是网络突然出现网速慢掉线 电视看不了 游戏玩不了 怎么办呢 还要追剧呢 还要打团呢 还要飙车呢 好难过 别着急 小助手来帮你 上网速度慢怎么办 1 访问某个站点服务
  • [需求管理-11]:需求拆分常见的原则与方法

    目录 前言 第1章 需求拆分的原则 1 1 理解需要背后的客户价值 1 2 参考 用户故事的定义方法 1 3 系统需求的层次 1 4 需求拆分的INVEST原则 小而整 1 5 需求拆分的三个准则 一个用户 完整价值 不依赖 第2章 9 种
  • unity打飞碟

    unity hw4 1 编写一个简单的鼠标打飞碟 Hit UFO 游戏 游戏的演示视频地址 http v youku com v show id XMzU0Mjg0NDg3Mg html spm a2h3j 8428770 3416059
  • Python初学 Anaconda安装方法

    Anaconda 指的是一个开源的Python发行版本 其包含了Python conda等180多个科学包及其依赖项 conda是一个开源的包 环境管理器 可以用于在同一个机器上安装不同版本的软件包及其依赖 并能够在不同的环境之间切换 因为
  • 下载blob地址或m3u8格式视频方法以及常见问题解决

    STEP1 在一些视频播放网站视频下方没有直接的下载按钮 此时可以先用电脑F12键查看元素 会出现类似如下界面 STEP2 该界面左上角的位置有一个指针形状的按钮 选用这个按钮 点一下网页里视频播放的区域 审查元素界面会跳转到类似如下的界面
  • Pandas知识点-合并操作join

    Pandas知识点 合并操作join 在Pandas中 join 方法也可以用于实现合并操作 本文介绍join 方法的具体用法 一 基础合并操作 join other 将一个或多个DataFrame加入到当前DataFrame中 实现合并的
  • Redis基础

    文章目录 1 Redis入门 Redis简介 Redis下载与安装 Redis启动与停止 设置Redis密码和允许远程连接 2 Redis数据类型 3 Redis常用命令 字符串string操作命令 哈希hash操作命令 列表list操作命
  • Windows防止程序多开并在多开时弹出已运行程序

    Windows下防止程序多开并在多开时弹出已运行的程序 1 功能说明 在Windows客户端开发时 往往需要禁止客户多开程序的情况 并且在客户再次双击启动图标时显示已启动的程序界面 故而需要下面的功能 使用CreateMutex禁止程序多开
  • CNN网络,CNN+SVM网络对故障分类(python代码)

    1 数据集可以使用多种数据集验证 例如 CWRU PU IMS JNU SEU PHM2010等等 这里使用的是IMS 辛辛那提 正常 内圈故障 外圈故障 滚动体故障 原始数据下载官网 Prognostics Center of Excel
  • CentOS7 彻底清除MySQL

    MySQL完全删除 参考文档 http www centoscn com mysql 2017 0517 8791 html 查看已经安装的服务 rpm qa grep i mysql i 作用是不区分大小写 删除这两个服务 去掉后缀 rp
  • [思维模式-7]:《如何系统思考》-3- 认识篇 - 什么是系统?系统的特征?

    目录 第1章 什么是系统 1 1 万事万物都是一个有机的系统 1 2 系统的科学定义 1 3 系统的构成 1 4 系统的分类 第2章 动态复杂系统的八大特征 2 1 目的性 2 8 边界 2 3 结构影响行为 2 4 总体大于部分之和 2
  • 数据大屏适配方案 (scale)

    目录 适配方案分析 vw vh 什么是vw和vh vw和百分比的区别是什么 vw怎么使用 实现思路 案例 scale方案 一 scale 方法 1 scaleX x 2 scaleY y 3 scale x y 案例 大屏之关键 前期的自适
  • TemplateSyntaxError at /statistics/ ‘staticfiles‘ is not a registered tag li

    报错django template exceptions TemplateSyntaxError staticfiles is not a registered tag library Mustbe one of admin list ad