Django: Реверс для 'download_excel/309' не найден. 'download_excel/309' не является допустимым именем функции представления или шаблона

В настоящее время я работаю над созданием приложения Django, которое позволит человеку загрузить excel с данными со страницы. Я пытаюсь подключить гиперссылку к функции представления, но она продолжает возвращать обратное соответствие. Я могу перейти непосредственно по ссылке, и она загружает excel, но когда я не могу загрузить файл index.html из-за ошибки. Я неправильно называю гиперссылку?

urls.py

from django.urls import path

from . import views

app_name = 'polls'
urlpatterns = [
    path('Excel/<int:study>', views.Excel, name='Excel'),
    path('download_excel/<int:study>', views.download_excel, name='download_excel'),
]

index.html

<html>
  <title>Download File</title>
</head>
<body>
<enter>
  <h1>Download File using Django</h1>
  <a href="{% url 'polls:download_excel/309' %}">Download State Impulsivity Excel</a>
</enter>  
</body>
</html>

views.py

def download_excel(request, study):
    with BytesIO() as b:
        writer = pd.ExcelWriter(b, engine='xlsxwriter')
        Retrieve(study)
        df = pd.DataFrame(data)
        df.to_excel(writer, sheet_name='Sheet1')
        writer.save()
        Names(study)
        filename = str(name) + "_" + str(current_time) + ".xlsx"
        response = HttpResponse(
            b.getvalue(),
            content_type=mimetypes.guess_type(filename)
        )
        response['Content-Disposition'] = 'attachment; filename=%s' % filename
        return response

Вы получаете эту ошибку, потому что Django думает, что 'download_excel/309' - это полное имя вашего представления. Имя представления и его позиционный аргумент(ы) должны быть разделены, поэтому вместо этого:

<a href="{% url 'polls:download_excel/309' %}">

...вы должны сделать что-то вроде:

<a href="{% url 'polls:download_excel' '309' %}">

Это создаст URL в вашем коде, который будет выглядеть следующим образом:

<a href="/download_excel/309/"> etc...
Вернуться на верх