404,同时尝试使用reportlab生成pdf

时间:2019-10-21 12:10:28

标签: django django-views 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>

1 个答案:

答案 0 :(得分:0)

我了解了如何修改urls.py文件。原来我需要添加此内容:

from django.conf.urls import url

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