Python版本:3.4
操作系统:Windows
Django:1.11.18
MySQL 8
mailing_address = models.JSONField()
#插入数据时
data.locations = json.dumps(request.POST.getlist('locations'))
data.save()
#检索数据时
my_requests_queryset = ListingModel.objects.filter(owner=request.user)
return render(request, 'home/home_dashboard_my_requests.html', {'my_requests_queryset': my_requests_queryset})
我已经在MySQL数据库中存储了一个邮件地址列表,例如:
['1212 Los Angeles, CA', 'Nariman Point, Mumbai, India']
我希望在HTML模板中打印列表的每个元素。不幸的是,每个字符都在打印。
现在,当我尝试遍历列表时,在Django模板中,我得到了每个字符而不是每个列表元素。
我已经尝试使用Django库 django-mysql 来实现本机JSONField
。
尝试使用内置模板过滤器with
,cycle
,as list
等在Django模板中构建列表。
<div class="container">
{% if my_requests_queryset and my_requests_queryset|length > 0 %}
{% for req in my_requests_queryset %}
<div class="row mb-1">
<div class="col-lg-2"></div>
<div class="col-lg-8">
<a href="#" class="card-link">
<div class="card text-center">
<div class="card-header">
{{ req.title|title|truncatechars:36 }}
</div>
<div class="card-body">
<h5 class="card-title">
{% for address in req.locations %}
{{ address }}
{% endfor %}
</h5>
</div>
</div>
</a>
</div>
</div>
{% endfor %}
{% endif %}
</div>
我希望将列表中的每个元素打印为:
1212 Los Angeles, CA
Nariman Point, Mumbai, India
答案 0 :(得分:0)
这里的问题是,我正在使用json.dumps()
将数据插入数据库,该数据库被转换为String
类型。
因此,在整洁地显示数据之前,我需要执行json.loads()
。
因此,要解决此错误,我已将值直接插入到数据库中,例如
locations = request.POST.getlist('locations')
代替
locations = json.dumps(request.POST.getlist('locations'))