问题标签 [django-custom-tags]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
593 浏览

python - Django - 创建自定义模板标签以显示模型名称

我有一个模型:

在我的模板中,我想显示当前调查模型的名称:

我正在使用自定义模板标签/过滤器来显示该名称;但是,它显示为“str”而不是当前调查模型的名称。

这是过滤器代码:

我在这里做错了什么?

0 投票
2 回答
211 浏览

python - 在 Django 中正确使用自定义标签时遇到问题

概括

我一直在尝试让自定义标签在 Django 中工作,但似乎无法正确注册。

索引文件看起来可以正确加载,它只是抱怨标签没有正确注册。

我现在所做的只是将我在 django 安装的应用程序部分中的应用程序中注册标签的 .py 文件放在其中。

我应该做其他事情来确保标签正确注册吗?


更多信息

我得到的错误:

第 1 行的块标记无效:“show_loans”。您是否忘记注册或加载此标签?

我调用标签的视图

索引.html

我尝试注册标签的python文件

贷款表.py

贷款表.html

文件夹结构:

谢谢你的帮助。

0 投票
1 回答
28 浏览

django - 无法调用自定义模板标签

在 html 页面中,我试图调用 django 自定义模板标签,但在我看来,它从未达到该模板标签功能。

home.html 页面

custom_tags.py

从 django 导入模板

如果您需要任何信息,请告诉我。谢谢!

0 投票
1 回答
948 浏览

django - TypeError:“datetime.date”对象不可下标

我正在尝试创建一个带有 3 个参数的自定义模板标签。我正在尝试计算两个日期之间的天数,同时不包括周末的天数。并且根据部门的不同,每个用户的周末都不同。所以我需要start_date, end_date,user_id传递给模板标签函数。这是我到目前为止所做的:

这就是我在模板中调用这些函数的方式:

当我运行代码时,它让我TypeError'datetime.date' object is not subscriptable. 当我试图检查函数中dates参数的类型时date_diff,它说:

<类'列表'>

<类'datetime.date'>

但是当它尝试将 start_date 分配为第一个日期对象时,如 start_date = dates[0],它甚至会抛出错误。这是错误的完整回溯:

我是 Django 和 Python 的初学者。

编辑

这就是我检查dates变量类型的方式:

当我访问该页面时,它会在控制台中打印出类型是列表和日期时间。但是如果我删除上面的 start_date 和 end_date 变量,它只会打印出 <class 'list'> 。我不明白这种行为。


0 投票
1 回答
189 浏览

python - 在 Django 中,如何使用模板和 DB 对象中使用的动态 URL 实现样板 HTML 变量?

在 Django 中,在我的数据库中,我创建了包含样板 HTML 和动态 URL 的字符串变量,但我无法让它们在我的模板中工作。

我正在使用 render_as_template (https://github.com/danielrozenberg/django-render-as-template/blob/master/render_as_template/templatetags/render_as_template.py)所以动态 URL 工作。我尝试了自定义模板标签,但是当我将它们与 render_as_template 一起使用时,它无法加载。

然后我尝试了一个自定义上下文处理器。我在上下文处理器中创建了两个函数,一个用于超链接,一个用于工具提示。我让工具提示处理器工作,但我只能通过查询集中自动生成的字典中的编号在模板中引用它们。

我对超链接处理器做了同样的事情,然后尝试修改它以使用字符串键而不是整数,但它不会加载所有字段。我肯定错过了什么。

在 template.html 中,会发生以下情况:

  1. 呈现,但动态 URL 失败。
  2. 根本不渲染变量。否则页面加载正常。
  3. 呈现,但动态 URL 失败。
  4. 根本不渲染变量。否则页面加载正常。
  5. 根本不渲染变量。否则页面加载正常。
  6. 仅呈现“售后支持”]>”,而不是来自数据库的完整超链接字段。
  7. 引发此错误:
  1. 工作正常。

{% render_as_template Boilerplate_tooltip.0 %} 很好用,但我更愿意通过字符串键引用模板中的变量。毕竟,Django 模板语言的精神是它的模板可以被非程序员读写。有任何想法吗?

0 投票
1 回答
1723 浏览

django - Django:'tag'不是注册的标签库错误

在我的模板中加载自定义标签时出现此错误。我已经访问了许多有关此的主题,并确保确认我没有犯一些常见错误:

  • 包含标签的文件位于templatetags文件夹中。
  • templatetags文件夹包含一个__init__.py文件。
  • 该应用程序actualites位于INSTALLED_APPS设置列表中。
  • {% load mes_tags %}在模板的开头使用。

这是我的应用程序的文件结构:

mes_tags.py

我得到的错误如下:

有人可以告诉我我做错了什么吗?提前致谢 !

0 投票
1 回答
51 浏览

python - php 到 python 简单循环增加的问题 [django] [已解决]

我必须将一些 php 代码转换为 python django,在 django 中我注意到很难像 php 那样做:

我的问题是,我必须通过n ( step) *迭代来增加一个简单的循环,

php代码:

在 django 模板中:我尝试了字典的循环,

在模板中:

这可行,但它只是显示,而不是将每次迭代的循环计数器设置为 3,

我希望每次迭代,循环都会增加一个指定的数字。 编辑 所以我在 django 模板中想要的结果是:

谢谢

0 投票
0 回答
33 浏览

python - 第 80 行出现错误无效的块标记:“NOUN_LIST|count_ordered”,预期为“endblock”。您是否忘记注册或加载此标签?

我创建了一个自定义标签并收到错误:


请求方法:GET

请求网址:“”

Django 版本:2.2.1

异常类型:TemplateSyntaxError

异常值:第 80 行的块标记无效:''NOUN_LIST|count_ordered'',预期为 'endblock'。您是否忘记注册或加载此标签?


我的项目结构是:

项目结构


custom_tag.py :


我将此标签称为:


0 投票
1 回答
136 浏览

python - 为django模板中已经声明的变量赋值?

我用谷歌搜索但无法找到解决方案。我去的地方想到了一些答案,例如这个答案
我通过Trans Tag 内置标签阅读的一些官方文档

模板视图


是否有任何方法可以分配标签变量。我也尝试了 custom_tags 过滤器。没有工作。

我不想重复 ID 名称

0 投票
1 回答
22 浏览

django - 将带有外键的自定义标签呈现到模板问题中

嗨,这是我正在使用的模型

从 django.db 导入模型 从 users.models 导入 CustomUser

该类由使用此视图的 HTML 表单填充:

所以我在我的应用程序中添加了一个自定义标签,这是一个功能

我在模板中这样称呼标签

但是我收到一条错误消息,提示字段 ID 需要一个数字,但得到了 'grandmaster',这是我的测试用户的名称,他有多个项目对象。如果我切换到 user.id,我没有收到错误,但它显示 None,这是有道理的,因为当我在管理员中查看我的项目部分时,字段用户由用户名而不是 id 填充,因此不会有 user=id 的项目