/items/ join() 参数处的 TypeError 必须是 str、bytes 或 os.PathLike 对象,而不是“dict”

Ian*_*tra 4 python django django-templates django-views

请帮助,我尝试通过删除代码的一部分并将其放回原处来追溯我的代码,以查看哪一个引发了错误,而这个就是引发上述错误的代码。

context = {
    'items': 'Item.objects.all()'
}
Run Code Online (Sandbox Code Playgroud)

这是我的 django 观点

from django.shortcuts import render
from .models import Item

def vendors(request):
    return render(request, 'pages/vendors.html', {'title': 'Vendors'})

def items(request):
    context = {
        'items': Item.objects.all()
    }
    return render(request, context, 'pages/items.html', {'title': 'Items'})

def request(request):
    return render(request, 'pages/request.html', {'title': 'Request'})
Run Code Online (Sandbox Code Playgroud)

这是我试图访问的项目页面。

{% extends "pages/base.html" %}
{% load humanize %}

{% block content %}
    {% for item in items %}
    <article class="media content-section">
    <div class="media-body">
        <div class="article-metadata">
        <a class="mr-2" href="#">{{ item.requester }}</a>
        <small class="text-muted">{{ item.date_requesteded|naturaltime }}</small>
        </div>
        <h2><a class="article-title" href="#">{{ item.name }}</a></h2>
        <p class="article-content">{{ item.description }}</p>
    </div>
    </article>
    {% endfor %}
{% endblock content %}
Run Code Online (Sandbox Code Playgroud)

另一个 html 页面工作正常。

小智 10

context = {
    'items': Item.objects.all(),
    'title': 'Items'
}
return render(request, 'pages/items.html', context)
Run Code Online (Sandbox Code Playgroud)