问题标签 [templatetags]

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 投票
4 回答
792 浏览

django - Django templatetag 范围迫使我做额外的查询

问题是,如果我将一个模板标签调用到一个块中并且它用通常的上下文 [varname]=something 填充我一个变量,那么如果我需要将该变量放入另一个块中,我必须再次调用模板标签。这对我来说意味着额外的数据库查询,这确实是我试图避免的事情。

此模板标签在由许多其他模板扩展的基本模板中调用,因此我不能只更改所有视图以将某些内容传递给上下文,这没有任何意义(WET 原则?)

即使是上下文处理器也不好,因为我不想为站点中呈现的每个页面调用它,即使是那些不基于该模板的页面。

我正在考虑编写一个模板标签,它会使用内部上下文结构将变量放在全局上下文中,但这样做我会感到内疚。

你将如何解决这个问题?

0 投票
1 回答
245 浏览

python - 加载和重用 Django 模板过滤器

是否可以加载 django 模板标签/过滤器以用作我的模板标签之一中的函数?

我正在尝试加载一些 django.contrib.humanize 过滤器,以便我可以将它们应用于我的一些自定义模板标签的结果。我似乎根本无法导入它们,而且我不想重写任何代码。

0 投票
2 回答
629 浏览

django - 使用 django 模板 url 标签时在 url 中自动插入项目名称

我正在将“url”模板标签应用于当前 Django 项目中的所有链接。

我的网址是这样命名的......

这允许我在我的站点的根目录访问 /login。我的模板标签是这样定义的......

它工作正常,除了Django 自动将该 url 解析为/myprojectname/login,而不是/login。两个网址都可以访问。为什么?是否有删除项目名称的选项?这发生在所有 url 标签上,而不仅仅是这个。

0 投票
1 回答
7661 浏览

python - Django - 确定传递给模板标签的变量的字段类型

我想写一个可以传递变量的 Django 模板标签。

我希望模板标签的行为有所不同,具体取决于变量源自的模型字段类型(CharField、BooleanField、IntegerField 等)以及字段定义中使用的其他信息(max_length 等)

我可以按照以下文档轻松地将变量传递给模板标签: 将模板变量传递给标签

有没有办法确定变量的原始模型字段的类名和模型参数?

换句话说:我可以制作这样的标签:

并在标签渲染功能中访问来自模型的信息?

0 投票
2 回答
1381 浏览

python - 如何获取模板标签以自动检查 Django 中的复选框

我正在使用 ModelForm 类为 ManyToManyField 生成一堆复选框,但我遇到了一个问题:虽然默认行为会自动检查相应的框(当我编辑对象时),但我无法弄清楚如何在我自己的自定义模板标签中获取该信息。

这是我的模型中的内容:

在我看来:

在我的模板中:

这是我的模板标签:

问题是,我这样做只是为了可以在这些框周围包裹一些更简单的标记,所以如果有人知道如何以更简单的方式实现这一点,我会全力以赴。我很高兴知道一种方法来访问是否应该检查一个框。

0 投票
1 回答
836 浏览

django - 检查 Django 中是否加载了模板标签

有没有办法在使用模板标签之前检查模板标签是否存在?

换句话说,我希望能够做这样的事情:

0 投票
1 回答
816 浏览

django - 在模板标签之间传递上下文,django

我正在使用 django 创建一个 Web 应用程序。

我创建了一个模板,在其中加载templatetag. 在此templatetag我加载另一个templatetag. 从模板中,我将上下文传递给第一个,但第二个(在第一个内部)templatetag的上下文不可用- 见下文。templatetagtemplatetag

我希望这是有道理的,并且你们中的一个人有答案。


模板片段:


some_tag 模板标签:


some_other_tag 模板标签:

在此templatetag我试图访问上下文以获取用户信息,即使用

0 投票
1 回答
684 浏览

django - 对于模板标签中使用的循环变量?

试图解决模板标签的问题。

我有两个模板标签:

我想像这样使用它们:

但是“字母”作为“字母”这个词发送,而不是作为变量应该包含的任何字母。有没有办法解决这个问题或我缺少的东西(或者,更好的是,一个已经这样做的包)?

0 投票
1 回答
297 浏览

python - 我可以在 Google App Engine 上使用 Django 模板标签吗?

我的 Django 站点有很多 templatetags 目录,我可以在 Google App Engine 上使用 Django templatetags 吗?

0 投票
1 回答
1754 浏览

python - 带有“parser.compile_filter(tokens[2])”的 Django 自定义模板标签不起作用

我试图在我的问题“how-do-i-pass-a-lot-of-parameters-to-views-in-django”([链接文本][1])中实施 T. Stone 提出的解决方案。
我无法得到任何结果。很难找到有关 的信息compile_filter(),但据我所知,cls(queryset=parser.compile_filter(tokens[2]), template=template)应该使用“变量”标记[2] 呈现模板。但这似乎不起作用。

这是我的实现代码:
models.py:

视图.py:

mytags.py:

测试.html:

测试表.html:

该模板只返回一个空页面。在我看来,查询集是空的。有人知道我做错了什么吗?(可能是一些初学者的愚蠢行为;)