首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将字符串(表示为MySQL数据库中的列表)转换为Django模板中的列表,以便迭代它?

如何将字符串(表示为MySQL数据库中的列表)转换为Django模板中的列表,以便迭代它?
EN

Stack Overflow用户
提问于 2019-01-31 13:05:49
回答 1查看 91关注 0票数 0

更新:

其他信息:

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数据库中存储了一个邮件地址列表,如下所示:

代码语言:javascript
复制
['1212 Los Angeles, CA', 'Nariman Point, Mumbai, India']

我希望在HTML模板中打印列表中的每个元素。不幸的是,每个字符都被打印出来。

现在,当我试图在Django模板中迭代列表时,我会得到每个字符,而不是每个list元素。

我已经尝试了Django库django-mysql来实现本机JSONField

尝试在Django模板中构建一个列表,使用内置的模板过滤器、withcycleas list等。

代码语言:javascript
复制
<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>

我希望将列表中的每个元素打印为:

代码语言:javascript
复制
1212 Los Angeles, CA
Nariman Point, Mumbai, India
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-01 09:10:35

这里的问题是,我使用json.dumps()将数据插入到数据库中,数据库被转换为String类型。

因此,我需要先做json.loads(),然后才能整洁地显示数据。

因此,为了解决这个错误,我直接将值插入到数据库中,如

locations = request.POST.getlist('locations')

而不是

locations = json.dumps(request.POST.getlist('locations'))

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54461301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档