Django评论,在网址评论中添加符号?

时间:2009-09-21 21:12:29

标签: django django-urls django-comments

我正在使用评论系统,现在,我想从网址注释中重新编写片段并添加符号#,我想将页面seccion精确地移动到评论列表,最后评论用户为{{ 1}}

我在发布评论时使用next来重定向usen:

<a name=#{{comment.id}}?> username </a>

但是在Django Doc中没有提及重写或定制器的评论redirect / url

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:5)

我偶然发现了这一点点丑陋。阅读源代码后,我没有看到任何改变这种行为的好方法。默认情况下,您会被重定向到模板的{{ next }}变量中的网址,Django会将?c=1附加到1是注释ID的网址。我希望将其改为#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