Django模板无法访问上下文

时间:2018-03-29 22:41:50

标签: python django listview templates

我检查了本网站的所有问题和答案,但找不到解决方案。我是Django的新手,试图开发一个存储模型并且已经停留在ListView中。

我的view.py:

的一部分
from django.shortcuts import render, redirect
from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic.list import ListView
from django.views.generic.detail import DetailView

from Storage.models import Storage
from django.http import HttpResponse

class StorageListView(LoginRequiredMixin, ListView):
    model = Storage
    print(Storage.objects.order_by('-barcode'))
    template_name = 'Storage/Storagelist.html'
    def get_queryset(self):
       return Storage.objects.order_by('-barcode')

我添加print语句以检查我是否到达模型并且 一切似乎都很正常:

<QuerySet [<Storage: 123>, <Storage: 122>, <Storage: 121>]>

但是,我无法从模板文件&#39; Storagelist.html&#39;中找到上下文:

<h3>trial</h3>
{% if storage_list %} <h3>trial</h3> {% endif %}

只是为了通过网址配置检查访问权限,我添加了试用版&#39;在模板的开头,它似乎也很正常。我也尝试使用context_object_name,但也没有帮助。不知何故,我无法从模板中获取ListView上下文数据。

我的应用程序版本如下: Django 2.0.3 Python 3.6.1 有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

ListView我认为对象将作为object_list填充到模板中。您可以考虑使用this method使模板上下文变量是人类可读的(并且也符合您的期望)。换句话说,请尝试将context_object_name = storage_list添加到您的视图中。