更新:
其他信息:
Python版本: 3.4
操作系统: Windows
Django: 1.11.18
MySQL 8
models.py
mailing_address = models.JSONField()
views.py
同时插入数据
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模板中迭代列表时,我会得到每个字符,而不是每个list元素。
我已经尝试了Django库django-mysql来实现本机JSONField。
尝试在Django模板中构建一个列表,使用内置的模板过滤器、with、cycle、as list等。
<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发布于 2019-02-01 09:10:35
这里的问题是,我使用json.dumps()将数据插入到数据库中,数据库被转换为String类型。
因此,我需要先做json.loads(),然后才能整洁地显示数据。
因此,为了解决这个错误,我直接将值插入到数据库中,如
locations = request.POST.getlist('locations')
而不是
locations = json.dumps(request.POST.getlist('locations'))
https://stackoverflow.com/questions/54461301
复制相似问题