Использовать Django URL сопоставителя шаблонов как компонент - PullRequest
1 голос
/ 12 июня 2019


Я думаю, это возможно, но я все еще не нашел никакого решения.Я ищу способ использовать шаблон сопоставления URL-адресов Django для другой обработки данных

Например:
У меня есть следующий шаблон
"MySpecific-(?P<my_parameter>)-(?P<my_second_parameter>)"
и следующая обычная строка
"MySpecific-test-123"

так что я хочу, чтобы извлечь параметры по шаблону из обычной строки в форме dict

{
  "my_parameter": "test",
  "my_second_parameter: "123"
}



Псевдокод:

import matcher from django_matcher_package

my_pattern = "MySpecific-(?P<my_parameter>)-(?P<my_second_parameter>)"
my_string = "MySpecific-test-123"

extracted_values = matcher.match(my_pattern, my_string)

1 Ответ

1 голос
/ 12 июня 2019

Это просто поддержка регулярных выражений Python:

>>> pattern="MySpecific-(?P<my_parameter>.+)-(?P<my_second_parameter>.+)"
>>> s="MySpecific-test-123"
>>> import re
>>> match = re.match(pattern, s)
>>> match.groupdict()
{'my_parameter': 'test', 'my_second_parameter': '123'}

Обратите внимание, я дважды добавил '. +' В ваш шаблон, иначе в этих группах не было бы ничего, что можно было бы сопоставить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...