上下文未在模板中显示变量

时间:2020-10-14 15:43:40

标签: python django

你好

我正在尝试向管理员添加功能,以便我可以从PDF文件下载订单详细信息,到目前为止,该功能已经成功完成,只不过其中一个模型显示的是Order.Model,而另一个模型显示的是OrderItems,模型中的项目没有显示。

我不确定如何为OrderItem添加另一个上下文以使其出现在PDF.html中。

这是模型。py

class Item(models.Model):
    title = models.CharField(max_length=100)
    description = models.TextField()
    price = models.FloatField()

class OrderItem(models.Model):
    item = models.ForeignKey(Item, on_delete=models.CASCADE)

class Order(models.Model):
    items = models.ManyToManyField(OrderItem)

这是views.py

@staff_member_required
def admin_order_pdf(request, order_id):
    order = get_object_or_404(Order, id=order_id)
    html = render_to_string('pdf.html', {'order': order})
    response = HttpResponse(content_type='application/pdf')
    response['Content-Disposition'] = 'filename="order_{}.pdf"'.format(Order.id)

    weasyprint.HTML(string=html).write_pdf(response)
    return response

这是url.py

path('admin/order/(<order_id>\d+)/pdf/', views.admin_order_pdf, name='admin_order_pdf')

这是pdf.html模板,仅显示为突出显示

{% for order_item in order.items.all %}
{{ order_item.item.title }}         <----------Not Showing
{% endfor %}

0 个答案:

没有答案