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

Asi*_*nox 3 django django-urls django-comments

即时通讯使用评论系统,现在,我想从网址评论中重新编写细分,并添加一个符号#,我想将页面seccion精确地移动到评论列表到最后一个评论用户 <a name=#{{comment.id}}?> username </a>

我发布评论时使用next来重定向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>
Run Code Online (Sandbox Code Playgroud)

但是在Django Doc中没有任何关于重写或定制器的评论redirect/url

任何的想法?

谢谢

rob*_*son 5

我偶然发现了这一点丑陋.阅读源代码后,我没有看到任何改变这种行为的好方法.默认情况下,您被重定向到模板{{ next }}变量?c=1中的URL,Django会将a附加到URL,其中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
Run Code Online (Sandbox Code Playgroud)