【发布时间】:2022-11-29 12:22:58
【问题描述】:
我正在通过外部函数在视图中创建一个新对象。这是代码:
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_jikan 和s_suii 变量中。这些变量然后用于创建一个新对象(模型只有这两个字段)。
如果我取消注释 print 语句,我将使用从外部函数新获得的数据打印模型的 __str__ 方法。此外,如果我检查管理员,数据库中的新记录将被正确保存。直到这里似乎一切正常,但是当将创建的对象传递给模板时,我无法渲染它。这是模板代码:
{% if sousei %}
<p>{{sousei.jikan}}</p>
<p>{{sousei.suii}}</p>
{% else %}
<p>No data.</p>
{% endif %}
但是我一直没有数据。我错过了什么?
【问题讨论】:
标签: django django-models django-templates django-orm