2010-04-06 4 views
2
(r'^/(?P<the_param>[a-zA-z0-9_-]+)/$','myproject.myapp.views.myview'), 

"the_param"이 (인코딩 된) URL을 매개 변수로 허용하도록 어떻게 변경할 수 있습니까?어떻게이 URL을 장고에 써야하나요?

그래서 URL을 전달하고 싶습니다.

mydomain.com/http%3A//google.com 

편집 : 나는 ...과 같이 정규식을 제거해야 다음 작동 것?

(R '^/(P [*])/$??', 'myproject.myapp.views.myview')

답변

2

문자 클래스 %.를 추가

[a-zA-Z0-9_%.-] 

참고 : 특수 문자가 문자 집합 내에서 의미를 잃어 버리기 때문에 문자 클래스에서 특수 문자를 이스케이프 할 필요가 없습니다. - 범위를 지정하는 데 사용하지 않으려면 백 슬래시로 이스케이프하거나 처음에 (파이썬 2.4.x, 2.5.x, 2.6.x) 또는 문자 집합 (파이썬 2.7.x)의 끝 부분에 넣어야합니다. 따라서 [a-zA-Z0-9_%-.]과 같은 것이 던져 질 것입니다 오류. 모두 일치해야합니다 표현 here을 설명한

(r'^the/uri/is/(?P<uri_encoded>[a-zA-Z0-9~%\._-])$', 'project.app.view'), 

:

+0

http://rubular.com/ 체크 아웃 가치가있을 수도 있습니다. – jluebbert

+0

jluebbert : 좋은 사이트. 나는 또한 이것을 좋아한다 : http://www.txt2re.com/ –

0

당신은 적어도 뭔가를해야합니다.

예제는 mydomain.com/http%3A%2F%2Fgoogle.com이어야합니다 (슬래시는 인코딩해야 함).

0

나는 당신이 그것을 할 수 있다고 생각 :

(r'^(?P<url>[\w\.~_-]+)$', 'project.app.view')