Удалить переменную комментария из URL после публикации (django)? - PullRequest
0 голосов
/ 14 ноября 2009

Когда я публикую комментарий с помощью структуры комментариев django, у меня есть скрытое значение next, установленное в надежде, что после публикации комментария пользователь увидит свой собственный комментарий. Поле next выглядит так:

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

Однако, когда комментарий публикуется, django добавляет ?c=23 в конец URL, чтобы полностью сформированный URL, на который перенаправлен пользователь, становится:

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

В Firefox и Safari (краткое тестирование) это предотвращает перемещение страницы вниз к правильному id=23 и просто показывает самый верх страницы (я хочу, чтобы он отображал только что опубликованный комментарий). Удаление ?c=23 устраняет проблему (вручную), но я не знаю, как сказать Django прекратить его добавление.

Идеи

Ответы [ 2 ]

1 голос
/ 15 ноября 2009

Не решение вашей проблемы, но просто хотел добавить, что это ошибка в Django. Было бы здорово, если бы вы могли открыть билет на него.

Для 1.1, похоже, тикет 10585 позаботился о уже существующих строках запроса в значении next. То есть, если next было http://example.com/item/1?a=1, то оно стало http://example.com/item/1?a=1?c=23 после публикации комментария. Изменения в коде выглядят довольно просто, так что вы даже можете сами предоставить патч.

Удачи!

Обновление 27 февраля 2011 г. : похоже на тикет 13411 с прикрепленным патчем!

0 голосов
/ 15 ноября 2009

Эта строка jQuery позволяет вам изменить текущий URL:

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

Заменить NEW_URL на новый URL. Вы можете разделить http://example.com/item/1#c23?c=23, используя знак вопроса, а затем использовать первую часть массива в качестве нового URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...