2009-11-14 3 views
0

django의 댓글 프레임 워크로 댓글을 게시 할 때 댓글이 게시되면 사용자가 자신의 댓글을 볼 수 있도록 숨겨진 next 값이 설정되어 있습니다. next 필드는 다음과 같이 렌더링 :게시 (django) 후 URL에서 주석 변수를 제거 하시겠습니까?

<input type="hidden" name="next" value="http://example.com/item/1#c23" /> 

을하지만, 코멘트는, 장고는 사용자가 리디렉션 된 완전한 형태의 URL 그래서 URL의 끝에 ?c=23을 추가 배치 될 때 :

http://example.com/item/1#c23?c=23

Firefox 및 Safari (간략한 테스트)에서는 페이지가 올바른 id=23으로 이동하는 것을 방지하고 페이지의 맨 위에 표시합니다. (방금 게시 한 댓글을 표시하고 싶습니다). ?c=23을 제거하면 (직접) 문제가 해결되지만 장고에 추가를 중단하는 방법을 모르겠습니다.

아이디어가 있으십니까?

$(this).attr("href", "NEW_URL"); 

새로운 URL에 의해 NEW_URL 교체 :

+1

개인적으로 나는 장고가 쿼리 문자열 (전체 주석 게시보기를 대체하지 못함)을 피할 수있는 방법을 제공하지 못하는 버그를 경계로 생각합니다. 나는 장고 개발자가 나에게 동의하는지 모르겠다 :-) –

답변

1

문제에 대한 해결책은 아니지만 장고에 버그가 있음을 추가하고 싶습니다. 티켓을 열 수 있다면 좋을 것입니다.

1의 경우 은 next 값의 기존 쿼리 문자열을 처리 한 것으로 보입니다. 즉, nexthttp://example.com/item/1?a=1 인 경우 댓글 게시 후 http://example.com/item/1?a=1?c=23이되었습니다. 코드 변경은 매우 간단 해 보이므로 패치를 직접 제공 할 수도 있습니다.

행운을 빈다.

이 업데이트 2011년 2월 27일 : ticket 13411처럼 보이는이 패치는 첨부했습니다!

+0

'? c ='비트를 포함할지 말지를 설명하는 주석 형식의 또 다른 숨겨진 필드에 대한 최선의 접근 방법을 고려하고 있습니까? 아니면'settings.py'의 설정입니까? 나는 왜 어떤 사람들은 그것을 사용하기를 원할 것인가를 알 수있다 - 나는 그렇지 않다. 감사. – thornomad

+0

아니면 다른 리디렉션을 통해 리다이렉트가 댓글이 게시 된 동일한 페이지로 돌아가고 URL에 '#'가 표시되는지 여부를 테스트 할 수 있습니까? – thornomad

+1

아마 내가 당신의 코멘트를 잘못 읽었지만 URL에 # 단편이 있고 그 앞에'? c = 23'을 삽입하는 것보다 더 복잡 할 필요가 있다는 것을 알지 못합니다. 즉, 귀하의 경우 URL은 코멘트를 게시 한 후 'http : //example.com/item/1? c = 23 # c23'이되어야합니다. – lemonad

0

이 jQuery를 라인은 현재 URL을 변경할 수 있습니다. 물음표를 사용하여 http://example.com/item/1#c23?c=23을 나눈 다음 배열의 첫 번째 부분을 새 URL로 사용할 수 있습니다.

관련 문제