尝试使用 reportlab 生成 pdf 时出现 404

404 while trying to generate pdf with reportlab

我正在尝试实现生成 pdf 文件以供从 views.py 下载的选项。现在我正在使用 django docs 中提供的示例代码,但是由于某种原因,当我尝试生成示例 pdf 时,我收到 404 错误消息:

The current path, stv/DRG_result, didn't match any of these.

--bunch of urls paths--

The current path, stv/DRG_result, didn't match any of these.

这似乎合乎逻辑,因为我没有在 urls.py 中为此设置任何路径(因为没有信息表明需要它)。 我应该设置它吗?有人可以告诉我如何正确地做到这一点,因为我对 django 很陌生。还是其他地方有错误?

我的相关 views.py 部分:

import io
from django.http import FileResponse
from reportlab.pdfgen import canvas 

def DRG_result(request):

    buffer = io.BytesIO()
    p = canvas.Canvas(buffer)

    p.drawString(100, 100, "hello world.")

    p.showPage()
    p.save()

    buffer.seek(0)
    return FileResponse(buffer, as_attachment=True, filename='hello.pdf')

调用此函数的模板中按钮的代码部分:

    <form action='DRG_result' method='GET'>     
        {% csrf_token %}
        <button type="submit" >Generuoti PDF</button>
    </form>

我找到了如何修改 urls.py 文件。结果我需要添加这个:

from django.conf.urls import url

urlpatterns = [
    url(r'^DRG_result/$', views.DRG_result, name='DRG_result'),
]