Джанго urlpatterns: значение регулярного выражения - PullRequest
0 голосов
/ 13 февраля 2012

Я следую учебнику по Django с сайта django.

Там я вижу регулярное выражение вроде:

(regular expression, **Python callback function [, optional dictionary]**)

Что я мог понять, так это то, что первый элемент кортежа - это регулярное выражение. Но я изо всех сил пытаюсь понять часть, выделенную жирным шрифтом в контексте регулярных выражений и django.

Ответы [ 3 ]

2 голосов
/ 13 февраля 2012

Это означает, что вторым аргументом является обратный вызов, который будет использоваться при обнаружении совпадения с регулярным выражением. Этот обратный вызов может быть строкой или вызываемым объектом. Сама строка должна быть оценена для вызываемого объекта. Следующий элемент - это словарь, который может быть дополнительно передан обратному вызову.

2 голосов
/ 13 февраля 2012

Нет, регулярное выражение является строкой.Функция обратного вызова - это функция, которая вызывается при сопоставлении регулярного выражения с аргументами, заданными в необязательном словаре в качестве дополнения к аргументам, проанализированным из URL через регулярное выражение.

0 голосов
/ 13 февраля 2012

Там я вижу регулярное выражение вроде:

Что я мог понять, так это регулярное выражение - кортеж.

Нет. Это не регулярное выражение. Это кортеж Регулярные выражения являются строками. Кортежи - это совершенно разные вещи. Это группы связанных частей информации. Регулярное выражение не может быть кортежем, потому что это строка.

Переменная urlpatterns содержит последовательность кортежей. Каждый кортеж содержит два или три элемента. В каждом кортеже первый элемент является регулярным выражением. Второй элемент каждого кортежа - это функция. Третий элемент, если он есть, - это словарь.

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