Как передать два аргумента в url с помощью (?P<pk>\d+)$''
В приведенном ниже коде, ссылающемся на файл urls.py от django, я передаю pk в качестве аргумента в url:
url(r'^data/edit_item/(?P<pk>\d+)$', edit_data, name="edit_data")
Я хочу знать, есть ли способ передать два аргумента в этом типе регулярного выражения. Я пробовал несколько способов, например:
url(r'^data/edit_item/(?P<pk>\d+)$&header', edit_data, name="edit_data")
но у меня большие проблемы с получением правильного формата.
url вызывается непосредственно в html:
{% if header|lower == "specie" %}
<a href="{% url 'edit_data' item.pk %}" role="button" aria-pressed="true" > Edit</a>
{% endif %}
Так что мне нужно передать аргумент header в html также:
{% if header|lower == "specie" %}
<a href="{% url 'edit_data' item.pk header %}" role="button" aria-pressed="true" > Edit</a>
{% endif %}
Попробуйте использовать from django.urls import path:
path('data/edit_item/<slug:pk>/<slug:header>/', edit_data, name="edit_data")
Если вы хотите использовать url с regex, попробуйте следующее:
url(r'^data/edit_item/(?P<pk>\S+)/(?P<header\S+)/', edit_data, name="edit_data")