问题标签 [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.
django - Django模板标签从模型输出图像
我是 Django 新手,刚刚开始我的第一个项目。我有一个位于 common.utils.abstact_models.py 的模式:
也许这也会有用。我有另一个模型:
我有图片上传到MEDIA_URL/uploads/event_photos
我需要编写一个模板标签来输出当前用户的照片。让我们说10张照片。我几乎没有任何代码,我从一些开始。
你对编写这个模板标签有什么建议吗?
django - Django:自定义模板简单标签应该引发异常还是静默失败?
我试图从官方文档中找到这个问题的答案,但我能找到的只是:
render() 永远不应引发 TemplateSyntaxError 或任何其他异常。它应该静默失败,就像模板过滤器应该
但以上内容并没有真正回答这个问题,也许让我更加困惑,因为它适用于常规的自定义标签,而我关心的是简单的标签。
这是一个示例(以及问题本身):
如果您的答案是引发异常,那会是TemplateSyntaxError
异常还是其他异常?
django - 如何从文件中加载自定义 Django 标签?
我在 mytag.py 文件中有一个 mytag 的标签定义。当我使用带有 settings.py 和 INSTALLED_APPS 的 Django 项目时,这很好用——我将“myapp”附加到列表中,并将 mytag.py 放在 myapp/templatetags 中。
现在我正在使用 django.conf.settings.configure 并且我没有带有 templatetags 子目录的模块——如何加载 mytag.py?
更新:
我现在尝试使用带有 templatetags 目录的模块,但我无法让它工作。这是我的设置:
文件:
- 我的应用
__init.py__
- 模板标签
__init__.py
- mytag.py
- 程序
- 测试.py
- 测试.html
这是相关代码:
当我运行 test.py 时,我收到以下消息:
python - 在 Django 中实现自定义模板标签时遇到问题
我正在尝试使用我的应用程序实现一些自定义模板标签,并更好地构建它。烦人的部分是我已经按照教程类型的帖子获取代码,但它仍然无法正常工作。
我试图按照这个和current_time来实现一些标签,但是我遇到了我不明白的错误。
首先,最新帖子的过滤器,或者在我的情况下,最新的屏幕给出
Exception Value: No module named gallery
我的项目称为“S3gallery”,我的应用程序称为“gallery”,我的模型称为“screenshots”。标签的模型参数在文档中说它需要 app_name.Model_name 这是我给它的,所以我坚持这一点。
我的自定义标签代码如下所示;
我尝试将其加载到模板中{% load get_latest gallery.screenshots 5 as recent_screens %}
,并且我看到的示例没有在标签中使用“加载”,但如果我这样做,Django 将无法识别该标签。我是否迷失了方向,但认为我会走正确的路。对此的任何帮助将不胜感激:)
python - 编写将整数分钟转换为“X 小时 Y 分钟”格式的字符串的函数的最佳方法是什么?
我目前有我的 Django 自定义模板过滤器,如下所示:
一些可能的输出:
' '.join(....split())
诀窍是我从这个解决方案中得到的东西。我意识到我只需要在字符串的开头或结尾检查额外的字符串(当它是 0 小时或 0 分钟时),但它似乎可以解决问题,而且对于某些人来说,它可能比正则表达式更容易阅读人们。
我也觉得我违反了 DRY,因为我重复了几乎完全相同的if-then
块两次。我在想类似的东西...
但我不知道如何在没有另一个if-then
块的情况下在“小时”或“分钟”之间进行选择。另外每行的两个速记if-then
也看起来有点难看......
我将不胜感激任何建议或提示。谢谢!
django - Django 自定义标签
我正在构建一个自定义标签,我必须在其中传递多个参数。我可以使用 , 分隔列表作为参数,但在传递该列表中的对象时遇到问题。
我调用它并在html中传递这样的参数
在上述情况下,我通过 pk 和 100 、 100 并且它工作正常。但我必须通过另一件事是对象。{{ image.pk|mytag:"100,100,{{image.name}}"}} 但这不起作用尝试了不同的语法但没有成功。
django - 模型属性中的 Django 用户注入
我在 Django 中有这个模型:
关系是:
问题是用户(在请求/会话中):用户可能订阅了一个反应,或者一个评论;他可能已登录或未登录。(这是一个 foo 的例子,它没有多大意义)
我不能在模板中做:
问题是:
- 我不能用参数调用模板中的方法(见上面的评论)
- 模型无权访问请求
现在我init_user
在模型中调用一个方法News
,传递请求。然后我在Comment
和Reaction
模型中有相同的方法,我必须设置user_subscribed
属性循环每个模型的孩子。
难道没有更聪明的方法来做到这一点吗?
编辑:感谢 Ignacio 关于使用自定义标签的提示,我正在尝试使用通用模式来传递用户(避免使用闭包,因为我不知道如何在 atm 使用它们):
当我使用它时,我{% inject_user object.method_that_receives_a_user request.user %}
遇到了这个错误'str' object is not callable
;method_injected(user)
我该如何解决?
python - 通过包含标记传递上下文变量
执行检查以查看用户是否参加。如何在is_attending
不出现语法错误的情况下将上下文变量传递给模板'is_attending': context['is_attending']
?检查基本上是用于样式 div 和诸如此类的东西。我究竟做错了什么?
模板:
过滤器.py
谢谢!
django - django 包含标签 kwargs 错误说“函数需要 2 个参数”
我已经写了包含标签,它需要上下文和 *args 和 **kwargs
模板:
我的代码有什么问题?
django - 是否可以使用 django 的自定义模板标签在模板的其他块中插入代码?
我正在编写一个自定义模板标记,该标记用一些代码包装一个 HTML 元素以使其可编辑。这由一些 CSS 支持,而 JS 负责将数据发送到服务器以保存它。
该组件需要包含
在页面底部和
在顶部。
我已经在页面模板中有两个“js”和“css”模板块。
我的问题 - 如果我的标签存在,自定义模板标签是否可以在相关页面块中包含这些脚本一次?
我输入的IE:
并且“js”和“css”模板块填充了相关的脚本\链接标签?
(我不想在每个页面中都预先包含这些,因为只有我的一些页面会使用这个标签)