首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在视图中创建的对象没有在模板中呈现

在视图中创建的对象没有在模板中呈现
EN

Stack Overflow用户
提问于 2022-11-29 02:37:22
回答 1查看 25关注 0票数 0

我正在通过外部函数在视图中创建一个新对象。这是代码:

代码语言:javascript
运行
复制
def index(request):
    sousei = suii_scratch(SOUSEI_URL)
    s_jikan = sousei[0]
    s_suii = sousei[1]
    sousei_obj = Sousei.objects.create(jikan=s_jikan, suii=s_suii)
    #print(sousei_obj)
    context = {
        sousei_obj : 'sousei',
    }
    return render(request, 'index.html', context)

外部函数返回两个值,它们是在s_jikans_suii变量中捕获的。然后使用这些变量创建一个新对象(模型只有这两个字段)。

如果取消对print语句的注释,则使用外部函数中新获得的数据打印模型的__str__方法。另外,如果我检查管理员,数据库中的新记录将被正确保存。直到这里看起来一切都很好,但是当将创建的对象传递给模板时,我无法得到它的呈现。这是模板代码:

代码语言:javascript
运行
复制
{% if sousei %}

<p>{{sousei.jikan}}</p>
<p>{{sousei.suii}}</p>

{% else %}

<p>No data.</p>

{% endif %}

但我一直在那里没有数据。我遗漏了什么?

EN

Stack Overflow用户

回答已采纳

发布于 2022-11-29 02:44:17

在字典中,键位于值之前,您在上下文中使用创建的对象作为键,字符串作为值。

代码语言:javascript
运行
复制
def index(request):
    ...
    context = {
        'sousei': sousei_obj
    }
    return render(request, 'index.html', context)
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74608571

复制
相关文章

相似问题

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