Django Python列表保存在DB中如何在模板中访问?
作为学习Django的一部分,我从API获取数据并保存在Django Python列表保存在DB中如何在模板中访问?,python,django,django-templates,Python,Django,Django Templates,作为学习Django的一部分,我从API获取数据并保存在models.py中。 我得到了数据,并按原样保存在数据库中 [u'RASH ERYTHEMATOUS', u'PAIN', u'FEELING HOT', u'PRURITUS', u'PAIN OF SKIN', u'SKIN IRRITATION', u'PARAESTHESIA', u'DERMATITIS CONTACT'] 现在,当我试图在模板中访问这些数据时,我只能得到这个列表,而不能以用户友好的方式显示它。 我试过: {%
models.py
中。
我得到了数据,并按原样保存在数据库中
[u'RASH ERYTHEMATOUS', u'PAIN', u'FEELING HOT', u'PRURITUS', u'PAIN OF SKIN', u'SKIN IRRITATION', u'PARAESTHESIA', u'DERMATITIS CONTACT']
现在,当我试图在模板中访问这些数据时,我只能得到这个列表,而不能以用户友好的方式显示它。
我试过:
{% for data in datalist.items %}
{{data}}
{% endfor %}
但模板html中的结果输出将是
[u'RASH ERYTHEMATOUS', u'PAIN', u'FEELING HOT', u'PRURITUS', u'PAIN OF SKIN', u'SKIN IRRITATION', u'PARAESTHESIA', u'DERMATITIS CONTACT']
我需要像红疹、疼痛、发热之类的东西
编辑:进一步详情
我从API获得一些数据。
我将API json转换为json.loads(数据)并将其保存在models.py
现在,在API中,models.py中保存了一个特定的子集,作为[u'RASH slemotus',u'PAIN',u'FEELING HOT',u'PRURITUS',u'PAIN OF SKIN pristice',u'parasensia',u'DERMATITIS CONTACT']
,因为json.loads()将json数据转换为python可读的格式
我已将其保存在models.py中
我可以在模板中检索这些数据,但其形式为[u'红斑疹'、u'疼痛'、u'发热'、u'瘙痒'、u'皮肤疼痛'、u'皮肤刺激'、u'感觉异常'、u'接触性皮炎']
现在我无法通过删除[u'
更新:
什么都不起作用。尝试了下面的代码,它成功了
def reactiondata(self):
return self.reactions.replace("[",'').replace("u",'').replace("'",'').replace(']','').split(',')
忽略一个事实,即您没有解释数据是如何存储的,也没有显示您的模型:
如果数据
变量仍以列表而不是单个对象的形式打印,您可以尝试再次重复该变量,如下所示:
{% for data in datalist.items %}
{% for elem in data %}
{{ elem }}
{% endfor %}
{% endfor %}
或者你可以使用
谢谢,但我没有json列表。它是Django转换的列表,存储在DB中。我不知道你的意思。我的回答不是针对json列表的,但也应该适用于json列表。请解释为什么这不适用于你?或者编辑你的问题,以显示列表如何存储在DB中(显示你的模型)以及如何从数据库中检索并传递到模板。更新的问题与我要查找的内容完全一致。我需要删除[u'
[u'
表明它是一个unicode字符串(您可能正在使用Python 2.x)。您在我的回答中尝试过我的两个建议中的任何一个吗?在呈现列表的各个元素时,这两个建议都应该删除u
前缀。db可能将数据存储为JSON对象的字符串表示形式,它不是列表,而是表示该列表的字符串。此计算机使用的字符串表示形式是您在模板中打印的内容。您需要json.loads(data.mylist)
(请记住import json
)。这会将其转换为一个适当的Python列表,在您对该Python列表进行模板化时,该列表将不会包含u'
内容。
{% for data in datalist.items %}
{{ data|join:', ' }}
{% endfor %}