2010-09-09 29 views
20

Trong Django mô hình url tôi cần phải sử dụng để xử lý các ký tự urlencode như% là những gì 20django mẫu url cho% 20

Tôi đang sử dụng (?P<name>[\w]+) nhưng điều này chỉ xử lý ký tự chữ và rất% đang gây ra một lỗi

Trả lời

25

Tôi đã có thể làm cho nó hoạt động bằng cách sử dụng cấu hình được đưa ra dưới đây. Kiểm tra xem nó có phù hợp với nhu cầu của bạn không.

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

+1 Có, có, đó là một không gian không phải là một tỷ lệ phần trăm ... xấu của tôi. –

+1

không khớp với tất cả các ký tự từ và tất cả các ký tự không phải từ không? sẽ không '.' được dễ dàng hơn nhiều – JKirchartz

+0

@JKirchartz Nó tương đương IMHO, nhưng cũng chỉ là nguy hiểm cho cùng một lý do. –

20

Nếu bạn chỉ muốn cho phép không gian:

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

Cảm ơn! Điều này làm việc cho tôi. – Jake

+0

Tốt hơn nhiều so với việc cho phép tất cả các ký tự không phải từ. Cảm ơn bạn. –

+0

Đó là câu trả lời hay nhất tôi nghĩ: hạn chế nhất, nhưng vẫn cho phép không gian –

1

Cách tốt nhất để làm điều đó và cho phép người khác ký tự được sử dụng '\ s' có nghĩa là bất kỳ dấu cách, các tab và các dòng mới

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

% 20 là không gian, tôi không muốn cho phép các tab hoặc dòng mới hoặc dòng mới mềm, v.v. –

Các vấn đề liên quan