【问题标题】:Django printing my querysetDjango 打印我的查询集
【发布时间】:2014-11-07 04:32:54
【问题描述】:

我刚开始使用 Django,我正在尝试打印我的查询集对象。我的模板代码如下:

{% for record in qset  %}
        {{record.first}}, {{record.second}}
{%endfor%}

另外,我的视图文件包含:

from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect
from updatedb.models import Data
from django.core.urlresolvers import reverse

def index(request):
        return render(request, 'updatedb/data.html')

def submit(request):
        first = request.POST["first"]
        second = request.POST["second"]
        d = Data()
        d.first = first
        d.second = second
        d.save()

        if request.POST.get("submit"):
                qset = Data.objects.all()
                print qset[2].first
                print qset[2].second
                return render(request, 'updatedb/results.html', {'queryset':qset}

在运行服务器并提交我的数据时,我得到一个空白网页。为什么会这样?

【问题讨论】:

    标签: python html django django-queryset


    【解决方案1】:

    将模板中的qset 更改为queryset,因为名称qset 未传递给您的模板。

            {{record.first}}, {{record.second}}
    {% endfor %}
    

    顺便说一句,你的括号需要在最后一行用) 关闭。

    【讨论】:

    • 模板中的变量名称应该与views.py 中的render() 函数中传递的变量名称相同。在您发布的代码中,您使用{'queryset':qset} 将参数传递给模板,这就是您需要在模板中使用queryset 的原因。在你的最后一行,渲染函数是render(,没有关闭),但这可能是一个复制和粘贴错误,这就是我在上面的“btw”中的意思。
    猜你喜欢
    • 2020-10-04
    • 2020-08-14
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 2018-05-29
    • 2017-06-30
    • 1970-01-01
    • 2021-03-04
    相关资源
    最近更新 更多