python - 为什么过滤器在 Django 模板的迭代中不会改变值
问题描述
我在 to_and.py 文件中有自定义过滤器,用于获取详细名称
from django import template
register = template.Library()
@register.filter
def verbose_name(objects):
return objects._meta.verbose_name
但是当我得到视图中的值时,它只会给我迭代中的第一个模型名称,我的代码查询集有两个单独的模型
{% load to_and %}
{{links}}
{% for link in links %}
{% if link|verbose_name == "Unit" %}
{{link|verbose_name}}
{{link.id}}
{% endif %}
{% endfor %}
解决方案
在模型中我忘记更改子单元的详细名称
just Change the verbose_name in models
class Meta:
"""Meta definition for Unit."""
verbose_name = 'SubUnit'
verbose_name_plural = 'SubUnits'
推荐阅读
- java - 在 Mac OS 中以编程方式处理 Command+H
- java - 排序列表中的数字对
- javascript - 由 jQuery 添加的什么都不发送
- php - 从 PHP 返回 True/False 到 Ajax
- python - 如何清除 EnvironmentError: [WinError 87] during "pip install qiskit"
- google-cloud-datastore - 谷歌云数据存储 GQL - 获取当前日期时间
- cpu-cache - 高速缓存内存以及它是如何填充的?
- lit-element - 当 Attribute 设置为 false 时,该属性是否仍可在元素内观察到?
- scikit-learn - ValueError:使用线性回归的垃圾邮件或非垃圾邮件预测
- asp.net-web-api - JSon 到 WebAPI 变为 [[]],[[]],[[]],[[]]