如何使用 Django 模板将值传递给 urlpattern?

How to pass a value to a urlpattern using django templating?

所以我有这个 urlpattern,我们可以在地址栏上输入一个数字,它会呈现一个 html template,它将在页面上显示输入的数字,我决定给它一个通过将 add:1 传递给 link 和 href 来增加一些功能,这样每次我们单击 link 时,它都会累加到前一个数字,然后生成响应在页面上显示该数字,但我无法使用 django 模板让它工作我不断收到页面未找到 404 错误,任何人都可以帮我解决这个问题吗?这是接受整数

的 url 模式
urlpatterns = [
        path('home/<int:num>',views.index,name='index')
        ]

这是 HTML 模板

<!DOCTYPE html>
<html>
    <head>
        <title>Dynamic urls</title>
    </head>
    <body>
        <h1>Page no. {{num}}</h1>
        <a href="{url 'home/{{num|add:1}}' }">Change the page</a>
    </body>
</html>

正确的方法是在将新计算变量作为第二个参数传递给 url 之前将 with 语句与 add 过滤器组合。

{% with num_=num|add:1 %}
  <a href="{% url 'home' num=num_ %}">Change the page</a>
{% endwith %}

PS

  • =
  • 两边不能有空格
  • 变量不应以 _
  • 开头
  • 不允许使用常规数学运算 (+),只允许像 add
  • 这样的过滤器