Задать вопрос
@NFly

Как в Django получить kwargs у URLpattern по его имени?

Django позволяет назначать имена для urlpattern

urlpatterns = [
    #...
    path('articles/<int:year>/', views.year_archive, name='news-year-archive'),
    #...
]


Чтобы потом по имени получить URL:
reverse('news-year-archive', args=(year,))

#либо

resolve('/some/path/')
# вернет объект ResolverMatch


Это все прекрасно. Но, как обратно получить всю информацию об urlpattern, *** по его имени ***?
Под "все информацией" имею ввиду: в первую очередь список именованных параметров, которые требуются для этого urlpattern. То есть те, которые указаны в url как , , и т.д.
Т.е. нужна функция типа
get_by_name('news-year-archive')
Которая вернет: {'year:int} или что то подобное.

Если сделать так:
v = path('articles/<int:year>/', views.year_archive, name='news-year-archive')
print(v)


То выходит URLPattern '.....' [name='news-year-archiv']

В какую сторону копать?
  • Вопрос задан
  • 79 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы