使用评论系统IM,现在,我想重新写段形成的URL的评论,并附加符号#,我想要的页面seccion的评论列表中移动究竟最后评论用户提供<a name=#{{comment.id}}?> username </a>

使用下一个林用于重定向当注释被张贴的USEN:

{% get_comment_form for object as form %}
<form action="{% comment_form_target %}" method="POST">
  {{ form }}
  <input type="hidden" name="next" value="{{ object.get_absolute_url }}" />
  <input type="submit" name="preview" class="submit-post" value="Preview"></td>  
</form>

但在Django的文件不说任何关于重写或定制注释重定向/网址

任何想法?

由于

有帮助吗?

解决方案

我只是碰到丑陋的这一点点偶然。阅读源代码之后,我没有看到任何好的方式来覆盖此行为。默认情况下,您会被重定向到URL模板的{{ next }}变量和Django的追加?c=1到的1是评论的ID的URL。我想这不是被#c1使用户的页面跳进来,他们刚刚发布的评论。我没有这与“猴修补”一点点,如下所示:

from django.contrib.comments.views import utils
from django.core import urlresolvers
from django.http import HttpResponseRedirect

def next_redirect(data, default, default_view, **get_kwargs):
    next = data.get("next", default)
    if next is None:
        next = urlresolvers.reverse(default_view)
    if get_kwargs:
        next += '#c%d' % (get_kwargs['c'],)
    return HttpResponseRedirect(next)

# Monkey patch
utils.next_redirect = next_redirect
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top