2010-09-09 3 views
20

В Django, что это шаблон URL нужно использовать для обработки UrlEncode символов, таких как% 20Джанго шаблон URL для% 20

Я использую (?P<name>[\w]+) но это обрабатывает только буквенно-цифровые символы, так что% вызывает ошибку

ответ

25

Мне удалось заставить его работать, используя приведенную ниже конфигурацию. Проверьте, подходит ли оно вашим потребностям.

(?P<name>[\w|\W]+) 
+0

+1 Да, да, это пространство не в процентах ... мое плохое. –

+1

не соответствует ли это всем символам слов и всем символам, отличным от слов? не будет '.' быть намного проще – JKirchartz

+0

@JKirchartz Это эквивалентно ИМХО, но и так же опасно по той же причине. –

20

Если вы хотите, чтобы пространство:

(?P<name>[\w\ ]+) 
+0

Спасибо! Это сработало для меня. – Jake

+0

Гораздо лучше, чем разрешать все символы, отличные от слов. Спасибо. –

+0

Это лучший ответ, который я думаю: самый ограничительный, но все же позволяет пространство –

1

Лучший способ сделать это, и позволить другие символы использует «\ S», что какие-либо пробелы, вкладки и новые линии

(?P<name>[\w\s]+) 
+0

% 20 - это пространство, я бы не хотел, чтобы t давали вкладки или новые строки или мягкие новые строки и т. Д. –

Смежные вопросы