404 при попытке создать PDF с reportlab - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь реализовать опцию генерации 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 голосов
/ 22 октября 2019

Я узнаю, как изменить файл urls.py. Оказалось, мне нужно было добавить это:

from django.conf.urls import url

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