我想学习Django并研究我找到了这本有趣的书Django By Example。其中一个问题是本书使用的是Django 1.8.6并且我正在尝试使用v2.0,因此我偶尔会遇到一些错误,你可以很容易地解决它。但是当我尝试使用本书中的代码和说明创建一个商店时,我遇到了这个问题:
我使用的代码就是这个:
view.py
@staff_member_required
def admin_order_detail(request, order_id):
order = get_object_or_404(Order, id=order_id)
return render(request, 'admin/orders/order/detail.html', {'order': order})
@staff_member_required
def admin_order_pdf(request, order_id):
order = get_object_or_404(Order, id=order_id)
html = render_to_string('orders/order/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,
stylesheets=[weasyprint.CSS(settings.STATIC_ROOT + 'css/pdf.css')])
return response
urls.py
re_path(r'admin/order/(?P<order_id>\d+)/$', views.admin_order_detail, name='admin_order_detail'),
re_path(r'^admin/order/(?P<order_id>\d+)/pdf/$', views.admin_order_pdf, name='admin_order_pdf'),
admin.py
def order_detail(obj):
return '<a href="{}">View</a>'.format(reverse('orders:admin_order_detail',
args=[obj.id]))
order_detail.allow_tags = True
def order_pdf(obj):
return '<a href="{}">PDF</a>'.format(reverse('orders:admin_order_pdf',
args=[obj.id]))
order_pdf.allow_tags = True
order_pdf.short_description = 'PDF bill'
我也在正确的目录中有html文件,但我不认为这是问题所在。所以,如果有人知道我错在哪里,我表示赞赏。
谢谢:3