【发布时间】:2019-11-23 19:11:23
【问题描述】:
我正在尝试输入一个逗号分隔的字符串值,将这些项目存储在列表中以供临时显示并在模板中使用。我目前无法将每个逗号分隔的字符串值存储在列表中,然后在模板中显示该列表。
用户在数据库 ModelForm 字段中输入类似的内容(不带引号):
来自ModelForm 的示例输入
inputs = models.CharField(max_length=200)
然后用户会输入一些效果
"length_ft,depth_in,width_in"
减去引号。
模板中的以下排序工作:
{% for i in inputs_list %}
{{ i }}
{% endfor %}
它不显示列表项列表,而是单独列出每个列表项的每个字母。我知道为什么,因为我去掉了逗号,但是我试图在每个 csv 项目中附加空白列表。
我不明白如何将项目从输入字符串中取出到列表中,然后显示在模板中。
views.py
def test_formula(request, formula_id):
formula = Formula.objects.get(id=formula_id)
inputs_list = []
for inputs in formula.inputs:
strip = inputs.strip(",")
inputs_list.append(strip)
context = {'formula': formula, 'inputs_list': inputs_list}
return render(request, 'formulas/test_formula.html', context)
公式/test_formula.html
(这只是将每个字符分解成它自己的项目)
{% load static %}
{% block content %}
{% for i in inputs_list %}
{{ i }}
{% endfor %}
{% endblock content %}
公式\urls.py
from django.urls import path
from . import views
urlpatterns = [
path('test_formula/<int:formula_id>', views.test_formula, name='test_formula'),
]
【问题讨论】:
-
我刚刚更新了希望现在更清楚了吗?