我将下面的视图函数中的上下文变量
review_id
传递给模板。上下文变量应该用于使用模板标签 url 构造 url。
views.py
def report_pdf(request, review_id):
return render(request, 'mtsAuthor/report.html', {
'review_id': review_id
})
报告.html
<a href='{% url "mtsAuthor:Review" review_id %}'>Link</a>
report.html 页面已正确呈现,并且 url 也已正确生成。就我而言,网址将类似于
/report/report_pdf/8fd9caac-1bae-45eb-af9d-b9673c17c0f8/
。相关的url路径是path('report/report_pdf/<uuid:review_id>/', views.report_pdf, name='report_pdf')
但是点击链接时,遇到以下错误:
与参数 '('',)' 不相反的 'download_review_report_pdf' 找到了。
要解决这个问题,我们应该确保 URL 在使用之前正确构造。通过将 URL 分配给模板中的变量,然后在链接中使用该变量,我可以避免此错误。
review_report.html
{% url 'myApp:download_report_pdf' custom_review_id as download_url %}
<a href="{{ download_url }}" class="btn btn-secondary btn-sm">Link</a>