传递queryset并在模板中检索

时间:2017-01-26 15:33:17

标签: python django

讨厌问这么简单的问题(我花了好几个小时试图解决它)。我看了很多教程和帖子(也在这个网站上)都解释了同样的事情,但我无法访问模板上的数据。

views.py

from django.shortcuts import render
from django.http import HttpResponse
from django.template import loader
from django.views.generic import ListView, DetailView
from .models import YTLink

def ytlinks(request):
    queryset = YTLink.objects.all()
    return render(request, 'links/home.html', {'queryset':queryset}, content_type='application/xhtml+xml')

home.html的

{% extends "links/header.html" %}

{% block content %}

{% if queryset %}
queryset is filled
{% else %}
queryset is not filled
{% endif %}

<br> <br> <br>

{% for ytlink in queryset %}
    <a href="{{ ytlink.link }}">{{ ytlink.link }}></a><br>
{% endfor %}

我的查询集永远不会被填充。这段代码有什么问题?

1 个答案:

答案 0 :(得分:0)

试试这个:

def ytlinks(request):
    try:
        queryset = YTLink.objects.all()
    except:
        queryset = None
    return render(request, 'links/home.html', {'queryset':queryset}, content_type='application/xhtml+xml')
在home.html中

变化

{% if queryset %}

{% if queryset is not None %}