Как передать два аргумента в 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")
Вернуться на верх