Django. Как получить URL по его имени?
Я хочу получить url по имени, указанному в urls.py.
Как {% url 'some_name' %} в шаблоне, но в Python.
Мой urls.py:
urlpatterns = [
...
path('admin_section/transactions/', AdminTransactionsView.as_view(), name='admin_transactions'),
...
]
Я хочу что-то вроде:
Input: url('admin_transactions')
Output: '/admin_section/transactions/'
Я знаю о функции django.urls.reverse, но ее аргументом должен быть View, а не имя url
В Django есть утилита reverse() для этого.
Пример из документации:
учитывая следующий url:
from news import views
path('archive/', views.archive, name='news-archive')
Вы можете использовать следующее, чтобы изменить URL:
from django.urls import reverse
reverse('news-archive')
В документации более подробно описано использование функции, поэтому я рекомендую прочитать ее.