2024-05-12 19:52:44 发布
网友
在django模板中,我试图对其中一个模板变量调用split函数,然后获取最后一个元素,所以我做了如下操作:
{{ newsletter.NewsletterPath.split('/').-1 }}
不幸的是,它不喜欢分裂。有些人可能会建议我在视图中进行拆分,但我不确定如何进行拆分,因为我需要对所有记录进行拆分。如果我能在模板里做的话就容易多了。有办法吗?
你说“它不喜欢分裂”是什么意思?它如何表现出它的厌恶?
如果我没记错的话,您不能将任何任意参数传递给方法,这些方法是从django模板调用的,并且可以在模板中使用的标识符只能由a-z、a-z、0-9、下划线和点组成(其中点表示查找:dictionary->;attribute->;method->;list index)。
至少有四种方法可以实现您的目标:
self
在视图中填充模型实例
for newsletter in newsletters: setattr(newsletter, 'basepath', newsletter.NewsletterPath.split('/')[-1])
(或类似的内容)
从django book:
Note that you do not include parentheses in the method calls. Also, it’s not possible to pass arguments to the methods; you can only call methods that have no required arguments.
所以,如果你想调用一个没有模板参数的方法,那就没问题了。 否则,必须在视图中执行。
模板故意不能做这样的事情。其目的是防止将业务逻辑放在模板中,模板只用于处理布局。
因此,一种可能的方法是在新闻稿模型中定义一个新闻稿PathLastElement(self)函数,并从模板中调用它。
你说“它不喜欢分裂”是什么意思?它如何表现出它的厌恶?
如果我没记错的话,您不能将任何任意参数传递给方法,这些方法是从django模板调用的,并且可以在模板中使用的标识符只能由a-z、a-z、0-9、下划线和点组成(其中点表示查找:dictionary->;attribute->;method->;list index)。
至少有四种方法可以实现您的目标:
self
之外不接受任何必需的参数在视图中填充模型实例
(或类似的内容)
从django book:
所以,如果你想调用一个没有模板参数的方法,那就没问题了。 否则,必须在视图中执行。
模板故意不能做这样的事情。其目的是防止将业务逻辑放在模板中,模板只用于处理布局。
因此,一种可能的方法是在新闻稿模型中定义一个新闻稿PathLastElement(self)函数,并从模板中调用它。
相关问题 更多 >
编程相关推荐