问题标签 [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.
django - Django templatetag 范围迫使我做额外的查询
问题是,如果我将一个模板标签调用到一个块中并且它用通常的上下文 [varname]=something 填充我一个变量,那么如果我需要将该变量放入另一个块中,我必须再次调用模板标签。这对我来说意味着额外的数据库查询,这确实是我试图避免的事情。
此模板标签在由许多其他模板扩展的基本模板中调用,因此我不能只更改所有视图以将某些内容传递给上下文,这没有任何意义(WET 原则?)
即使是上下文处理器也不好,因为我不想为站点中呈现的每个页面调用它,即使是那些不基于该模板的页面。
我正在考虑编写一个模板标签,它会使用内部上下文结构将变量放在全局上下文中,但这样做我会感到内疚。
你将如何解决这个问题?
python - 加载和重用 Django 模板过滤器
是否可以加载 django 模板标签/过滤器以用作我的模板标签之一中的函数?
我正在尝试加载一些 django.contrib.humanize 过滤器,以便我可以将它们应用于我的一些自定义模板标签的结果。我似乎根本无法导入它们,而且我不想重写任何代码。
django - 使用 django 模板 url 标签时在 url 中自动插入项目名称
我正在将“url”模板标签应用于当前 Django 项目中的所有链接。
我的网址是这样命名的......
这允许我在我的站点的根目录访问 /login。我的模板标签是这样定义的......
它工作正常,除了Django 自动将该 url 解析为/myprojectname/login,而不是/login。两个网址都可以访问。为什么?是否有删除项目名称的选项?这发生在所有 url 标签上,而不仅仅是这个。
python - Django - 确定传递给模板标签的变量的字段类型
我想写一个可以传递变量的 Django 模板标签。
我希望模板标签的行为有所不同,具体取决于变量源自的模型字段类型(CharField、BooleanField、IntegerField 等)以及字段定义中使用的其他信息(max_length 等)
我可以按照以下文档轻松地将变量传递给模板标签: 将模板变量传递给标签
有没有办法确定变量的原始模型字段的类名和模型参数?
换句话说:我可以制作这样的标签:
并在标签渲染功能中访问来自模型的信息?
python - 如何获取模板标签以自动检查 Django 中的复选框
我正在使用 ModelForm 类为 ManyToManyField 生成一堆复选框,但我遇到了一个问题:虽然默认行为会自动检查相应的框(当我编辑对象时),但我无法弄清楚如何在我自己的自定义模板标签中获取该信息。
这是我的模型中的内容:
在我看来:
在我的模板中:
这是我的模板标签:
问题是,我这样做只是为了可以在这些框周围包裹一些更简单的标记,所以如果有人知道如何以更简单的方式实现这一点,我会全力以赴。我很高兴知道一种方法来访问是否应该检查一个框。
django - 检查 Django 中是否加载了模板标签
有没有办法在使用模板标签之前检查模板标签是否存在?
换句话说,我希望能够做这样的事情:
django - 在模板标签之间传递上下文,django
我正在使用 django 创建一个 Web 应用程序。
我创建了一个模板,在其中加载templatetag
. 在此templatetag
我加载另一个templatetag
. 从模板中,我将上下文传递给第一个,但第二个(在第一个内部)templatetag
的上下文不可用- 见下文。templatetag
templatetag
我希望这是有道理的,并且你们中的一个人有答案。
模板片段:
some_tag 模板标签:
some_other_tag 模板标签:
在此templatetag
我试图访问上下文以获取用户信息,即使用
django - 对于模板标签中使用的循环变量?
试图解决模板标签的问题。
我有两个模板标签:
我想像这样使用它们:
但是“字母”作为“字母”这个词发送,而不是作为变量应该包含的任何字母。有没有办法解决这个问题或我缺少的东西(或者,更好的是,一个已经这样做的包)?
python - 我可以在 Google App Engine 上使用 Django 模板标签吗?
我的 Django 站点有很多 templatetags 目录,我可以在 Google App Engine 上使用 Django templatetags 吗?
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:
该模板只返回一个空页面。在我看来,查询集是空的。有人知道我做错了什么吗?(可能是一些初学者的愚蠢行为;)