не удалось интерпретировать регулярное выражение даты - PullRequest
1 голос
/ 08 марта 2011

GetUsage / 08-03-2011

, чтобы соответствовать этому URL, я использовал следующее регулярное выражение в urls.py (python & django)

('^GetData/((0?[1-9]|[12][0-9]|3[01])[- /.](0?[1-9]|1[012])[- /.](19|20)?[0-9]{2})*',GetData)

и внутри views.pyследующий метод настроен на прием даты

def GetDataData(request,sdate):

, но при запуске следующего запроса

http://[ipaddress]/GetUsage/08-03-2011

я получаю следующую ошибку

GetData() takes exactly 2 arguments (5 given)

какон рассчитывает на 08-03-2011 в 5 отдельных частях, но я хочу получить его одним параметром, т.е. в sdate

1 Ответ

2 голосов
/ 08 марта 2011

Каждая группа регулярных выражений в () передается в GetData() в качестве аргумента. Если вы не хотите, чтобы группы создавались некоторыми из них, но по-прежнему хотите использовать парены, используйте (?:whatever) для паролей без группировки.

РЕДАКТИРОВАТЬ: Вы, вероятно, хотите что-то вроде:

('^GetData/((?:0?[1-9]|[12][0-9]|3[01])[- /.](?:0?[1-9]|1[012])[- /.](?:19|20)?[0-9]{2})*',GetData)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...