2011-11-29 4 views
0

나는 URL의 현재 경로를 얻는 방법 질문이있다. 예를 들어 3 개의 탐색 모음, about, 블로그 및 연락처 페이지가 있습니다. 각 페이지에는 페이스 북, 트위터 및 친구 이메일 버튼이 있습니다. 이메일을 친구 버튼으로 클릭하고 현재 URL이 www.example.com/about 인 경우 현재 URL은 이미 www.example.com/emailafriend입니다. www.example/about을 어떻게 얻을 수 있습니까? 또한 블로그 및 연락처에 있습니다. 도와주세요. 감사.장고에서 원래 경로를 얻으십시오

+0

나는 장고가 어떻게 관련되어 있는지 이해할 수 없다. 당신은 당신의 상황을 좀더 분명하게 할 수 있습니까? – Gautam

+0

제 4 문장을 다시 쓸 수 있겠습니까? 나는 당신이 묻는 것을 이해하지 못합니다 : * 이메일을 친구 단추로 클릭하고 현재 URL이 www.example.com/about 인 경우, 현재 URL은 지금입니다. 이미 www.example.com/emailafriend.* – MattH

+0

예, 현재 현재 경로는 www.example.com/about이며 친구 버튼을 이메일로 보내면 클릭하면 현재 경로는 www.example.com/이됩니다. 이메일 친구. 다른 URL로 이동하기 전에 변수에 현재 경로를 저장할 수있는 방법이 있습니까? – david

답변

2

전자 메일로 친구 단추가 어떻게 작동합니까? 그것은 현재 URL을 가져 와서 이메일로 보내주는 장고보기입니까? 그렇다면 "현재"URL은 원하지 않습니다. 실제로는 친구 URL로 이메일을 보냅니다. 더 많은 정보를 추가

/share?url=http://www.example.com/blog

댓글 : 당신이 원하는 것은 당신이 URL 매개 변수로 공유 할 URL, 즉 통과하다 :

위의 URL을 참조 할 때 django URL 구성을 언급하지 않았습니다. 한 걸음 물러서십시오.

정보 페이지에는 친구에게 이메일을 보낼 수있는 링크가 있습니까? 이 링크는 템플릿에서 생성되지만 모든 페이지에서 동일합니다. 같은 뭔가 대신이의

<a href="/emailafriend">Email a friend</a> 

이 시도 :

<a href="/emailafriend?url={{ request.get_full_path }}">Email a friend</a> 

지금 당신은 당신의 email_a_friend보기이 처리 할 필요가있다.

가 탈출 한 것 때문에 당신은 {{request.get_full_path}} 기능을 탈출 할 수 있습니다 안전 URL, 당신은 언 이스케이프에

해야합니다 : 그것은

request.get('url', ''). 

를 통해 몇 가지 추가 정보를 URL을 얻을 수 있습니다 그것은 당신의 견해에 있습니다. URL을보기로 가져 오면 원하는대로 할 수 있습니다.

{{ request.get_full_path|urlencode }} 
+0

여기 내 샘플 URL이 있습니다. URL ('약'R '^ 약/$', 이름 = '약'), URL (r'emailafriend/$ ','email_a_friend '이름 ='email_a_friend '), 그래서 내가 정보 페이지에는 친구 버튼 이메일이 있습니다. 그 버튼을 클릭하면 현재 url은 이제 sample.com/emailafriend입니다. 나는 url이 여전히 sample.com/about입니다. 어떤 생각입니까? – david

+0

위의 편집을 참조하십시오. –

+0

Jason에게 감사드립니다. 그것은 이미 작동합니다. :) – david

0

www.example.com/about과 같은 상대 URL을 사용해보세요. www.example.com/email/email입니다. 상대 URL을 사용하는 것이 가장 간단한 해결책입니다.

this을 살펴보십시오.

Absolute vs relative URLs

+0

도메인 이름에 많은 하위 도메인이 있기 때문에 그럴 수 없습니다. 그것은 보여야한다. – david

0

IT는 참조 URL (현재 페이지로 전송되는 URL)를 얻기 위해 당신의 희망처럼 들린다.

request.META['HTTP_REFERER'] 

자세한 내용은 documentation on HttpRequest objects를 참조하십시오 : 그것은 믿을 수없는 100 %이지만 즉, 요청 객체에서 사용할 수있는 것입니다.

+0

예, 여기 있습니다. 브라이언 감사합니다. : D – david

+1

"친구에게 전자 메일 보내기"기능에 대한 질문과 답변을 다시 읽은 후 참조 자에 의존하지 않고 Jason McClellan의 대답에서 언급 한 기술을 사용하게 될 것입니다. 하지만 URL을 신뢰하지 않아도됩니다. –

관련 문제