【发布时间】:2021-04-15 03:20:01
【问题描述】:
我遇到了一个场景,我需要从数据库中获取 numeric 数据并在我的模板上运行该数量的循环,例如:
在我的views.py:
from django.template.defaulttags import register
@register.filter
def get_range(value):
return range(value)
def quesSetting(request):
questionSet_obj = questionSet.objects.filter(id = pk).first()
quesSetting_dict = {
'noNumeric' : questionSet_obj.noNumeric,
}
return render(request, 'app/quesSetting.html', quesSetting_dict)
我的template:
{% for i in noNumeric|get_range %}
<input type="text" class="form-control" name="numericQuestion" array_column="{{ i }}">
{% endfor %}
现在它说关注error:
'str' object cannot be interpreted as an integer
所以,我尝试将noNumeric 转换为int,如下所示:
{% for i in int(noNumeric)|get_range %}
<input type="text" class="form-control" name="numericQuestion" array_column="{{ i }}">
{% endfor %}
这次它给出了以下错误:
Could not parse some characters: int|(noNumeric)||get_range
我该如何解决这个问题?
【问题讨论】:
-
noNumericbtw 的示例输出是什么? -
int值,在我的测试用例中是:2 -
并确认您的自定义
|get_range是否正常工作? -
是的,为了确认,我已将
noNumeric替换为2,它工作正常