Как передать значение urlpattern с использованием шаблонов django? - PullRequest
0 голосов
/ 12 июля 2020

Итак, у меня есть этот urlpattern, где мы могли бы ввести число в адресную строку, и он отобразит html template, который будет отображать введенный номер на странице. Я решил дать ему немного больше функциональности, подключив add:1 на ссылку href, так что каждый раз, когда мы нажимаем на ссылку, она складывается с предыдущим числом, а затем генерирует ответ, отображая это число на странице, но я не могу заставить его работать, используя 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>

1 Ответ

1 голос
/ 12 июля 2020

правильный способ - объединить with статус с add фильтром перед передачей новой вычисляемой переменной в url в качестве второго параметра.

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

PS

  • там НЕ ДОЛЖНО быть пробелов вокруг =
  • переменные НЕ должны начинаться с _
  • обычные математические операции (+) НЕ допускаются, только фильтры вроде add
...