The*_*i.9 7 python django django-templates
在django模板中我试图在其中一个模板变量上调用split函数然后获取最后一个元素,所以我做了类似这样的事情:
{{ newsletter.NewsletterPath.split('/').-1 }}
Run Code Online (Sandbox Code Playgroud)
不幸的是,它不喜欢分裂.有些人可能会建议我在视图中进行拆分,但我不知道该怎么做,因为我需要为所有记录执行此操作.如果我能在模板中做到这一点会容易得多.有没有办法做到这一点?
你是什么意思"它不喜欢分裂"?它是如何表现出不喜欢的?
如果我没记错的话,你不能将任何参数传递给方法,这些方法是从django模板中调用的,而且模板中可以使用的标识符只能包含az,AZ,0-9,下划线和点(其中点表示查找:dictionary-> attribute-> method-> list-index).
至少有四种方法可以达到你想要的效果:
self填充视图中的模型实例
for newsletter in newsletters:
setattr(newsletter, 'basepath',
newsletter.NewsletterPath.split('/')[-1])
Run Code Online (Sandbox Code Playgroud)
(或沿着这些方向的东西)
模板故意无法执行此类操作。目的是防止您将业务逻辑放在模板中,模板仅用于处理布局。
因此,一种可行的方法是在新闻通讯模型中定义一个NewsletterPathLastElement(self)函数,然后从模板中调用它。
| 归档时间: |
|
| 查看次数: |
11155 次 |
| 最近记录: |