讨厌问这么简单的问题(我花了好几个小时试图解决它)。我看了很多教程和帖子(也在这个网站上)都解释了同样的事情,但我无法访问模板上的数据。
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 %}
我的查询集永远不会被填充。这段代码有什么问题?
答案 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 %}