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